include/corelib/ncbimisc.hpp File Reference

#include <corelib/ncbistl.hpp>
#include <ctype.h>

Include dependency graph for ncbimisc.hpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  pair_base_member< Base, Member >
 Template used for empty base class optimization. More...
class  auto_ptr< X >
 auto_ptr -- More...
struct  auto_ptr< X >::auto_ptr_ref< Y >
struct  Creater< X >
 Functor template for allocating object. More...
struct  Deleter< X >
 Functor tempate for deleting object. More...
struct  ArrayDeleter< X >
 Functor template for deleting array of objects. More...
struct  CDeleter< X >
 Functor template for the C language deallocation function, free(). More...
class  AutoPtr< X, Del >
 AutoPtr --. More...
class  AutoArray< X, Del >
 AutoArray --. More...
class  CRawPointer
 Helper address class. More...

Defines

#define NCBI_STRICT_CTYPE_ARGS
#define HIDE_SAFE_BOOL_OPERATORS()
 Macro to hide all oprators with bool argument which may be used unintentially when second argument is of class having operator bool().
#define DECLARE_SAFE_BOOL_METHOD(Expr)
 Low level macro for declaring bool operator.
#define DECLARE_OPERATOR_BOOL(Expr)
 Declaration of safe bool operator from boolean expression.
#define DECLARE_OPERATOR_BOOL_PTR(Ptr)   DECLARE_OPERATOR_BOOL((Ptr) != 0)
 Declaration of safe bool operator from pointer expression.
#define DECLARE_OPERATOR_BOOL_REF(Ref)   DECLARE_OPERATOR_BOOL((Ref).NotNull())
 Declaration of safe bool operator from CRef<>/CConstRef<> expression.
#define NCBI_CTYPEFAKEBODY   { return See_the_standard_on_proper_argument_type_for_ctype_macros(c); }
#define ITERATE(Type, Var, Cont)   for ( Type::const_iterator Var = (Cont).begin(), NCBI_NAME2(Var,_end) = (Cont).end(); Var != NCBI_NAME2(Var,_end); ++Var )
 ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)   for ( Type::iterator Var = (Cont).begin(); Var != (Cont).end(); ++Var )
 Non constant version of ITERATE macro.
#define ERASE_ITERATE(Type, Var, Cont)
 Non constant version with ability to erase current element, if container permits.
#define VECTOR_ERASE(Var, Cont)   (NCBI_NAME2(Var,_next) = (Cont).erase(Var))
 Use this macro inside body of ERASE_ITERATE cycle to erase from vector-like container.
#define REVERSE_ITERATE(Type, Var, Cont)   for ( Type::const_reverse_iterator Var = (Cont).rbegin(), NCBI_NAME2(Var,_end) = (Cont).rend(); Var != NCBI_NAME2(Var,_end); ++Var )
 ITERATE macro to reverse sequence through container elements.
#define NON_CONST_REVERSE_ITERATE(Type, Var, Cont)   for ( Type::reverse_iterator Var = (Cont).rbegin(); Var != (Cont).rend(); ++Var )
 Non constant version of REVERSE_ITERATE macro.
#define NCBI_DEPRECATED_CTOR(decl)   decl NCBI_DEPRECATED
 Macro used to mark a constructor as deprecated.

Typedefs

typedef unsigned int TSeqPos
 Type for sequence locations and lengths.
typedef int TSignedSeqPos
 Type for signed sequence position.

Enumerations

enum  ESwitch { eOff = 0, eOn, eDefault }
 Aux. More...
enum  EOwnership { eNoOwnership, eTakeOwnership }
 Which type of ownership between objects. More...
enum  ENullable { eNullable, eNotNullable }
 Whether a value is nullable. More...
enum  ESign { eNegative = -1, eZero = 0, ePositive = 1 }
 Whether a value is nullable. More...
enum  ERound { eTrunc, eRound }
 Whether to truncate/round a value. More...
enum  EFollowLinks { eIgnoreLinks, eFollowLinks }
 Whether to follow symbolic links (also known as shortcuts or aliases). More...
enum  EInterruptOnSignal { eInterruptOnSignal, eRestartOnSignal }
 Interrupt on signal mode. More...

Functions

char * strdup (const char *str)
 Supply string duplicate function, if one is not defined.
template<class T1, class T2>
END_NCBI_SCOPE BEGIN_STD_SCOPE
void 
swap (NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair1, NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair2)
template<class P, class D>
void swap (NCBI_NS_NCBI::AutoPtr< P, D > &ptr1, NCBI_NS_NCBI::AutoPtr< P, D > &ptr2)
template<class Element, size_t Size>
size_t ArraySize (const Element(&)[Size])

Variables

const TSeqPos kInvalidSeqPos = ((TSeqPos) (-1))
 Define special value for invalid sequence position.


Define Documentation

#define NCBI_STRICT_CTYPE_ARGS
 

Definition at line 51 of file ncbimisc.hpp.


Generated on Wed Dec 9 06:03:05 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Wed Dec 09 08:18:18 2009 by modify_doxy.py rev. 173732