NCBI C++ ToolKit
Classes | Macros | Typedefs | Enumerations | Enumerator | Functions | Variables | Friends
Application Framework
+ Collaboration diagram for Application Framework:

Classes

class  ncbi::CNcbiToolkit_LogMessage
 Logging message. More...
 
class  ncbi::INcbiToolkit_LogHandler
 Logging interface. More...
 
class  CAppException
 CAppException –. More...
 
class  CNcbiApplicationGuard
 
class  CNcbiApplicationAPI
 CNcbiApplicationAPI –. More...
 
class  INcbiIdler
 Interface for application idler. More...
 
class  CDefaultIdler
 Default idler. More...
 
class  pair_base_member< Base, Member >
 Template used for empty base class optimization. More...
 
class  CBoolEnum< TEnum >
 Template used to replace bool type arguments with some strict equivalent. More...
 
struct  Creater< X >
 Functor template for allocating object. More...
 
struct  Deleter< X >
 Functor template 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...
 
struct  AutoPtr< X, Del >::SSafeBoolTag
 Bool operator for use in if() clause. More...
 
class  AutoArray< X, Del >
 AutoArray –. More...
 
struct  AutoArray< X, Del >::SSafeBoolTag
 Bool operator for use in if() clause. More...
 
struct  SThrowOnNull< TValue >
 
class  CNullable< TValue, TNullToValue >
 Template class allowing to store a value or null (unassigned) state. More...
 
class  CStrictId< TKey, TStorage >
 Template class for strict ID types. More...
 
struct  SStrictId_Gi
 Key structs must always be defined - they are used in aliasinfo.cpp. More...
 
struct  SStrictId_Entrez
 
struct  SStrictId_Tax
 
class  CConstIdChecker< TId, id >
 a helper template to enforce constness of argument to GI_CONST macro More...
 
class  CRawPointer
 Helper address class. More...
 
class  CFastBuffer< KEmbeddedSize, TType >
 
class  CSafeFlags< Enum >
 Support for safe enum flags. More...
 
struct  CSafeFlags< Enum >::SSafeBoolTag
 
class  CNcbiActionGuard
 CNcbiActionGuard class Executes registered callbacks on request or on destruction. More...
 
class  CNcbiActionGuard::CAction_Base
 
class  CNcbiActionGuard::CAction< TFunc >
 
struct  hash< ncbi::CStrictId< TKey, TStorage > >
 
class  IPhoneHomePolicy
 Interface class for Phone Home Policy. More...
 

Macros

#define NCBI_TOOLKIT_EXPORT
 
#define CNcbiApplication   CNcbiApplicationAPI
 
#define NCBI_ESWITCH_DEFINED
 
#define NCBI_EOWNERSHIP_DEFINED
 NCBI_ESWITCH_DEFINED. More...
 
#define DECLARE_SAFE_BOOL_METHOD(Expr)
 Support for safe bool operators. More...
 
#define DECLARE_OPERATOR_BOOL(Expr)    DECLARE_SAFE_BOOL_METHOD(Expr)
 Declaration of safe bool operator from boolean expression. More...
 
#define DECLARE_OPERATOR_BOOL_PTR(Ptr)    DECLARE_OPERATOR_BOOL((Ptr) != 0)
 Declaration of safe bool operator from pointer expression. More...
 
#define DECLARE_OPERATOR_BOOL_REF(Ref)    DECLARE_OPERATOR_BOOL((Ref).NotNull())
 Declaration of safe bool operator from CRef<>/CConstRef<> expression. More...
 
#define OVERRIDE_OPERATOR_BOOL(TAncestorClass, NewBoolExpr)
 Override the DECLARE_OPERATOR_BOOL, etc. More...
 
#define ITERATE_CONST(Cont)   NCBI_NS_NCBI::s_ITERATE_ConstRef(Cont)
 
#define ITERATE_BEGIN(Cont, Begin)
 
#define ITERATE_VAR(Type)   Type
 
#define ITERATE(Type, Var, Cont)
 ITERATE macro to sequence through container elements. More...
 
#define NON_CONST_ITERATE(Type, Var, Cont)
 Non constant version of ITERATE macro. More...
 
#define REVERSE_ITERATE(Type, Var, Cont)
 ITERATE macro to reverse sequence through container elements. More...
 
#define NON_CONST_REVERSE_ITERATE(Type, Var, Cont)
 Non constant version of REVERSE_ITERATE macro. More...
 
#define ERASE_ITERATE(Type, Var, Cont)
 Non-constant version with ability to erase current element, if container permits. More...
 
#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. More...
 
#define ITERATE_BOTH_BOOL_VALUES(BoolVar)    for( bool BoolVar##BOTH_BOOL_VALUES_DONE##__LINE__ = false, BoolVar = false; ! BoolVar##BOTH_BOOL_VALUES_DONE##__LINE__ ; BoolVar##BOTH_BOOL_VALUES_DONE##__LINE__ = BoolVar, BoolVar = true )
 The body of the loop will be run with Var equal to false and then true. More...
 
#define ITERATE_0_IDX(idx, up_to)    for( TSeqPos idx = 0; idx < up_to; ++idx )
 idx loops from 0 (inclusive) to up_to (exclusive) More...
 
#define ITERATE_SIMPLE(num_iters)    ITERATE_0_IDX( _dummy_idx_94768308_##__LINE__, num_iters )
 Just repeat the body of the loop num_iters times. More...
 
#define NCBI_INT8_GI
 Type for sequence GI. More...
 
#define STRICT_ID_TO(TId, TInt, id)   (static_cast<TInt>((id).Get()))
 Macros to convert TGi to other types (int, unsigned etc.). More...
 
#define STRICT_ID_FROM(TIdType, TIntType, id)   (TIdType(static_cast<TIdType::TId>(id)))
 
#define STRICT_ID_CONST(type, id)    (type(static_cast<type::TId>(ncbi::CConstIdChecker<type::TId, id>::value)))
 
#define STRICT_ID_ZERO(type)   STRICT_ID_CONST(type, 0)
 
#define STRICT_ID_INVALID(type)   STRICT_ID_CONST(type, -1)
 
#define GI_TO(T, gi)   STRICT_ID_TO(ncbi::TGi, T, gi)
 
#define GI_FROM(T, value)   STRICT_ID_FROM(ncbi::TGi, T, value)
 
#define GI_CONST(gi)   STRICT_ID_CONST(ncbi::TGi, gi)
 
#define ZERO_GI   STRICT_ID_ZERO(ncbi::TGi)
 
#define INVALID_GI   STRICT_ID_INVALID(ncbi::TGi)
 
#define ENTREZ_ID_TO(T, entrez_id)   (static_cast<T>(entrez_id))
 
#define ENTREZ_ID_FROM(T, value)   (static_cast<ncbi::TEntrezId>(value))
 
#define ENTREZ_ID_CONST(id)   id
 
#define ZERO_ENTREZ_ID   ENTREZ_ID_CONST(0)
 
#define INVALID_ENTREZ_ID   ENTREZ_ID_CONST(-1)
 
#define TAX_ID_TO(T, tax_id)   (static_cast<T>(tax_id))
 
#define TAX_ID_FROM(T, value)   (static_cast<ncbi::TTaxId>(value))
 
#define TAX_ID_CONST(id)   id
 
#define ZERO_TAX_ID   TAX_ID_CONST(0)
 
#define INVALID_TAX_ID   TAX_ID_CONST(-1)
 
#define INT_ID_TO(T, id)   (static_cast<T>(id))
 Convert gi-compatible int to/from other types. More...
 
#define INT_ID_FROM(T, value)   (static_cast<ncbi::TIntId>(value))
 
#define NCBI_DEPRECATED_CTOR(decl)   decl NCBI_DEPRECATED
 Macro used to mark a constructor as deprecated. More...
 
#define NCBI_DEPRECATED_CLASS   NCBI_DEPRECATED_CTOR(class)
 Macro used to mark a class as deprecated. More...
 
#define DECLARE_SAFE_FLAGS_TYPE(E, T)    typedef NCBI_NS_NCBI::CSafeFlags<E> T
 Macro DECLARE_SAFE_FLAGS_TYPE defines a typedef for safe-flags. More...
 
#define DECLARE_SAFE_FLAGS(E)
 Macro DECLARE_SAFE_FLAGS marks a enum as safe-flags enum. More...
 

Typedefs

typedef char ncbi::TNcbiToolkit_XChar
 
typedef CNcbiApplication *(* ncbi::FNcbiApplicationFactory) (void)
 Provide means of creating custom CNcbiApplication object – to use the latter instead of "dummy" NCBI application. More...
 
typedef int CNcbiApplicationAPI::TDisableArgDesc
 Binary OR of "EDisableArgDesc". More...
 
typedef int CNcbiApplicationAPI::THideStdArgs
 Binary OR of "EHideStdArgs". More...
 
typedef int CNcbiApplicationAPI::TStdioSetupFlags
 Binary OR of "EStdioSetup". More...
 
typedef int CNcbiApplicationAPI::TAppFlags
 
typedef enum ENcbiSwitch ESwitch
 Aux. More...
 
typedef enum ENcbiOwnership EOwnership
 Ownership relations between objects. More...
 
typedef Base pair_base_member< Base, Member >::base_type
 
typedef Base pair_base_member< Base, Member >::first_type
 
typedef Member pair_base_member< Base, Member >::member_type
 
typedef Member pair_base_member< Base, Member >::second_type
 
typedef X AutoPtr< X, Del >::element_type
 Define element type. More...
 
typedef Del AutoPtr< X, Del >::deleter_type
 Alias for template argument. More...
 
typedef void(SSafeBoolTag::* AutoPtr< X, Del >::TBoolType) (SSafeBoolTag *)
 
typedef X AutoArray< X, Del >::element_type
 Define element type. More...
 
typedef Del AutoArray< X, Del >::deleter_type
 Alias for template argument. More...
 
typedef void(SSafeBoolTag::* AutoArray< X, Del >::TBoolType) (SSafeBoolTag *)
 
typedef unsigned int TSeqPos
 Type for sequence locations and lengths. More...
 
typedef int TSignedSeqPos
 Type for signed sequence position. More...
 
typedef TStorage CStrictId< TKey, TStorage >::TId
 
typedef CStrictId< TKey, TStorage > CStrictId< TKey, TStorage >::TThis
 
typedef Int8 TIntId
 
typedef Uint8 TUintId
 
typedef TIntId SStrictId_Gi::TId
 
typedef TIntId SStrictId_Entrez::TId
 
typedef int SStrictId_Tax::TId
 
typedef CStrictId< SStrictId_Gi, SStrictId_Gi::TIdTGi
 
typedef TGi CStrictGi
 
typedef SStrictId_Entrez::TId TEntrezId
 TEntrezId type for entrez ids which require the same strictness as TGi. More...
 
typedef SStrictId_Tax::TId TTaxId
 Taxon id type. More...
 
typedef Enum CSafeFlags< Enum >::enum_type
 
typedef underlying_type< enum_type >::type CSafeFlags< Enum >::storage_type
 
typedef void(SSafeBoolTag::* CSafeFlags< Enum >::TBoolType) (SSafeBoolTag *)
 
typedef list< unique_ptr< CAction_Base > > CNcbiActionGuard::TActions
 

Enumerations

enum  ncbi::CNcbiToolkit_LogMessage::ESeverity {
  ncbi::CNcbiToolkit_LogMessage::eInfo = 0 , ncbi::CNcbiToolkit_LogMessage::eWarning , ncbi::CNcbiToolkit_LogMessage::eError , ncbi::CNcbiToolkit_LogMessage::eCritical ,
  ncbi::CNcbiToolkit_LogMessage::eFatal , ncbi::CNcbiToolkit_LogMessage::eTrace
}
 Log message severity. More...
 
enum  CAppException::EErrCode {
  CAppException::eUnsetArgs , CAppException::eSetupDiag , CAppException::eLoadConfig , CAppException::eSecond ,
  CAppException::eNoRegistry
}
 Error types that an application can generate. More...
 
enum  CNcbiApplicationAPI::EAppNameType { CNcbiApplicationAPI::eBaseName , CNcbiApplicationAPI::eFullName , CNcbiApplicationAPI::eRealName }
 
enum  CNcbiApplicationAPI::EPreparseArgs { CNcbiApplicationAPI::ePreparse_Continue , CNcbiApplicationAPI::ePreparse_Exit }
 Result of PreparseArgs() More...
 
enum  CNcbiApplicationAPI::EDisableArgDesc { CNcbiApplicationAPI::fDisableStdArgs = 0x01 }
 Disable argument descriptions. More...
 
enum  CNcbiApplicationAPI::EHideStdArgs {
  CNcbiApplicationAPI::fHideLogfile = CArgDescriptions::fHideLogfile , CNcbiApplicationAPI::fHideConffile = CArgDescriptions::fHideConffile , CNcbiApplicationAPI::fHideVersion = CArgDescriptions::fHideVersion , CNcbiApplicationAPI::fHideFullVersion = CArgDescriptions::fHideFullVersion ,
  CNcbiApplicationAPI::fHideDryRun = CArgDescriptions::fHideDryRun , CNcbiApplicationAPI::fHideHelp = CArgDescriptions::fHideHelp , CNcbiApplicationAPI::fHideFullHelp = CArgDescriptions::fHideFullHelp , CNcbiApplicationAPI::fHideXmlHelp = CArgDescriptions::fHideXmlHelp ,
  CNcbiApplicationAPI::fHideAll = CArgDescriptions::fHideAll
}
 Which standard flag's descriptions should not be displayed in the usage message. More...
 
enum  CNcbiApplicationAPI::EStdioSetup {
  CNcbiApplicationAPI::fNoSyncWithStdio = 0x01 , CNcbiApplicationAPI::fDefault_CinBufferSize = 0x02 , CNcbiApplicationAPI::fBinaryCin = 0x04 , CNcbiApplicationAPI::fBinaryCout = 0x08 ,
  CNcbiApplicationAPI::fDefault_SyncWithStdio = 0x00
}
 Flags to adjust standard I/O streams' behaviour. More...
 
enum  CNcbiApplicationAPI::EExitMode { CNcbiApplicationAPI::eNoExits , CNcbiApplicationAPI::eExceptionalExits , CNcbiApplicationAPI::eAllExits }
 When to return a user-set exit code. More...
 
enum  CNcbiApplicationAPI::EAppFlags { CNcbiApplicationAPI::fSkipSafeStaticDestroy = 1 << 0 }
 
enum  ENcbiSwitch {
  eOff = 0 , eOn , eDefault , eOff = 0 ,
  eOn , eDefault
}
 Aux. More...
 
enum  ENcbiOwnership { eNoOwnership , eTakeOwnership , eNoOwnership , eTakeOwnership }
 Ownership relations between objects. More...
 
enum  ENullable { eNullable , eNotNullable }
 Whether a value is nullable. More...
 
enum  ESign { eNegative = -1 , eZero = 0 , ePositive = 1 }
 Signedness of a value. More...
 
enum  ETriState { eTriState_Unknown = -1 , eTriState_False = 0 , eTriState_True = 1 }
 Enumeration to represent a tristate value. 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  ENormalizePath { eNormalizePath , eNotNormalizePath }
 Whether to normalize a path. More...
 
enum  EInterruptOnSignal { eInterruptOnSignal , eRestartOnSignal }
 Interrupt on signal mode. More...
 
enum  ERetriable { eRetriable_No , eRetriable_Unknown , eRetriable_Yes }
 Can the action be retried? More...
 
enum  ENull { null = 0 }
 CNullable –. More...
 
enum  : TId { CConstIdChecker< TId, id >::value = id }
 

Functions

void ncbi::NcbiToolkit_RegisterNcbiApplicationFactory (FNcbiApplicationFactory f)
 
void ncbi::NcbiToolkit_Init (int argc, const TNcbiToolkit_XChar *const *argv, const TNcbiToolkit_XChar *const *envp=NULL, INcbiToolkit_LogHandler *log_handler=NULL)
 Initialialize NCBI C++ Toolkit internal infrastructure: arguments, environment, diagnostics, logging. More...
 
void ncbi::NcbiToolkit_Fini (void)
 Release resources allocated for NCBI C++ Toolkit. More...
 
 ncbi::CNcbiToolkit_LogMessage::operator std::string (void) const
 Get the message the way it is formatted by the Toolkit. More...
 
std::string ncbi::CNcbiToolkit_LogMessage::Message (void) const
 Get text part of the message. More...
 
ESeverity ncbi::CNcbiToolkit_LogMessage::Severity (void) const
 Get message severity. More...
 
int ncbi::CNcbiToolkit_LogMessage::ErrCode (void) const
 Get error code. More...
 
int ncbi::CNcbiToolkit_LogMessage::ErrSubCode (void) const
 Get error subcode. More...
 
std::string ncbi::CNcbiToolkit_LogMessage::File (void) const
 Get file name in which message was originated. More...
 
size_t ncbi::CNcbiToolkit_LogMessage::Line (void) const
 Get line number in which message was originated. More...
 
const SDiagMessagencbi::CNcbiToolkit_LogMessage::GetNativeToolkitMessage (void) const
 Get all of the message's data – as provided natively by the Toolkit. More...
 
 ncbi::CNcbiToolkit_LogMessage::CNcbiToolkit_LogMessage (const SDiagMessage &msg)
 
virtual ncbi::CNcbiToolkit_LogMessage::~CNcbiToolkit_LogMessage (void)
 
 ncbi::CNcbiToolkit_LogMessage::CNcbiToolkit_LogMessage (const CNcbiToolkit_LogMessage &)
 
CNcbiToolkit_LogMessagencbi::CNcbiToolkit_LogMessage::operator= (const CNcbiToolkit_LogMessage &)
 
virtual ncbi::INcbiToolkit_LogHandler::~INcbiToolkit_LogHandler ()
 
virtual void ncbi::INcbiToolkit_LogHandler::Post (const CNcbiToolkit_LogMessage &msg)=0
 
virtual const char * CAppException::GetErrCodeString (void) const override
 Translate from the error code value to its string representation. More...
 
 CAppException::NCBI_EXCEPTION_DEFAULT (CAppException, CCoreException)
 
 CNcbiApplicationGuard::~CNcbiApplicationGuard (void)
 
CNcbiApplicationAPICNcbiApplicationGuard::Get (void)
 
const CNcbiApplicationAPICNcbiApplicationGuard::Get (void) const
 
CNcbiApplicationAPICNcbiApplicationGuard::operator-> (void)
 
CNcbiApplicationAPICNcbiApplicationGuard::operator* (void)
 
 CNcbiApplicationGuard::operator bool (void) const
 
bool CNcbiApplicationGuard::operator! (void) const
 
 CNcbiApplicationGuard::CNcbiApplicationGuard (CNcbiApplicationAPI *app)
 
static CNcbiApplicationAPICNcbiApplicationAPI::Instance (void)
 Singleton method. More...
 
static CNcbiApplicationGuard CNcbiApplicationAPI::InstanceGuard (void)
 Singleton method. More...
 
static SSystemMutex & CNcbiApplicationAPI::GetInstanceMutex (void)
 Mutex for application singleton object. More...
 
 CNcbiApplicationAPI::CNcbiApplicationAPI (const SBuildInfo &build_info)
 Constructor. More...
 
virtual CNcbiApplicationAPI::~CNcbiApplicationAPI (void)
 Destructor. More...
 
int CNcbiApplicationAPI::AppMain (int argc, const char *const *argv, const char *const *envp=0, EAppDiagStream diag=eDS_Default, const char *conf=NcbiEmptyCStr, const string &name=NcbiEmptyString)
 Main function (entry point) for the NCBI application. More...
 
virtual void CNcbiApplicationAPI::Init (void)
 Initialize the application. More...
 
virtual int CNcbiApplicationAPI::Run (void)=0
 Run the application. More...
 
virtual int CNcbiApplicationAPI::DryRun (void)
 Test run the application. More...
 
virtual void CNcbiApplicationAPI::Exit (void)
 Cleanup on application exit. More...
 
const CNcbiArgumentsCNcbiApplicationAPI::GetArguments (void) const
 Get the application's cached unprocessed command-line arguments. More...
 
virtual const CArgsCNcbiApplicationAPI::GetArgs (void) const
 Get parsed command line arguments. More...
 
const CNcbiEnvironmentCNcbiApplicationAPI::GetEnvironment (void) const
 Get the application's cached environment. More...
 
CNcbiEnvironmentCNcbiApplicationAPI::SetEnvironment (void)
 Get a non-const copy of the application's cached environment. More...
 
void CNcbiApplicationAPI::SetEnvironment (const string &name, const string &value)
 Set a specified environment variable by name. More...
 
bool CNcbiApplicationAPI::HasLoadedConfig (void) const
 Check if the config file has been loaded. More...
 
bool CNcbiApplicationAPI::FinishedLoadingConfig (void) const
 Check if the application has finished loading config file (successfully or not). More...
 
const CNcbiRegistryCNcbiApplicationAPI::GetConfig (void) const
 Get the application's cached configuration parameters (read-only). More...
 
CNcbiRegistryCNcbiApplicationAPI::GetConfig (void)
 
const stringCNcbiApplicationAPI::GetConfigPath (void) const
 Get the full path to the configuration file (if any) we ended up using. More...
 
bool CNcbiApplicationAPI::ReloadConfig (CMetaRegistry::TFlags flags=CMetaRegistry::fReloadIfChanged, IRegistry::TFlags reg_flags=IRegistry::fWithNcbirc)
 Reload the configuration file. More...
 
SIZE_TYPE CNcbiApplicationAPI::FlushDiag (CNcbiOstream *os, bool close_diag=false)
 Flush the in-memory diagnostic stream (for "eDS_ToMemory" case only). More...
 
const stringCNcbiApplicationAPI::GetProgramDisplayName (void) const
 Get the application's "display" name. More...
 
const stringCNcbiApplicationAPI::GetProgramExecutablePath (EFollowLinks follow_links=eIgnoreLinks) const
 Get the application's executable path. More...
 
static string CNcbiApplicationAPI::GetAppName (EAppNameType name_type=eBaseName, int argc=0, const char *const *argv=NULL)
 
CVersionInfo CNcbiApplicationAPI::GetVersion (void) const
 Get the program version information. More...
 
const CVersionAPICNcbiApplicationAPI::GetFullVersion (void) const
 Get the program version information. More...
 
bool CNcbiApplicationAPI::IsDryRun (void) const
 Check if it is a test run. More...
 
virtual bool CNcbiApplicationAPI::SetupDiag_AppSpecific (void)
 Setup application specific diagnostic stream. More...
 
template<class TFunc >
void CNcbiApplicationAPI::AddOnExitAction (TFunc func)
 Add callback to be executed from CNcbiApplicationAPI destructor. More...
 
static CRWLockCNcbiApplicationAPI::GetInstanceLock (void)
 
virtual EPreparseArgs CNcbiApplicationAPI::PreparseArgs (int argc, const char *const *argv)
 Check the command line arguments before parsing them. More...
 
void CNcbiApplicationAPI::DisableArgDescriptions (TDisableArgDesc disable=fDisableStdArgs)
 
void CNcbiApplicationAPI::HideStdArgs (THideStdArgs hide_mask)
 Set the hide mask for the Hide Std Flags. More...
 
void CNcbiApplicationAPI::SetStdioFlags (TStdioSetupFlags stdio_flags)
 Adjust the behavior of standard I/O streams. More...
 
void CNcbiApplicationAPI::SetVersion (const CVersionInfo &version)
 Set the version number for the program. More...
 
void CNcbiApplicationAPI::SetVersion (const CVersionInfo &version, const SBuildInfo &build_info)
 
void CNcbiApplicationAPI::SetVersionByBuild (int major)
 
void CNcbiApplicationAPI::SetFullVersion (CRef< CVersionAPI > version)
 Set version data for the program. More...
 
virtual void CNcbiApplicationAPI::SetupArgDescriptions (CArgDescriptions *arg_desc)
 Setup the command line argument descriptions. More...
 
const CArgDescriptionsCNcbiApplicationAPI::GetArgDescriptions (void) const
 Get argument descriptions (set by SetupArgDescriptions) More...
 
bool CNcbiApplicationAPI::SetupDiag (EAppDiagStream diag)
 Setup the application diagnostic stream. More...
 
virtual bool CNcbiApplicationAPI::LoadConfig (CNcbiRegistry &reg, const string *conf, CNcbiRegistry::TFlags reg_flags)
 Load settings from the configuration file to the registry. More...
 
virtual bool CNcbiApplicationAPI::LoadConfig (CNcbiRegistry &reg, const string *conf)
 Load settings from the configuration file to the registry. More...
 
CNcbiRegistryCNcbiApplicationAPI::GetRWConfig (void)
 Get the application's cached configuration parameters, accessible for read-write for an application's internal use only. More...
 
void CNcbiApplicationAPI::SetProgramDisplayName (const string &app_name)
 Set program's display name. More...
 
static string CNcbiApplicationAPI::FindProgramExecutablePath (int argc, const char *const *argv, string *real_path=0)
 Find the application's executable file. More...
 
virtual void CNcbiApplicationAPI::AppStart (void)
 Method to be called before application start. More...
 
virtual void CNcbiApplicationAPI::AppStop (int exit_code)
 Method to be called before application exit. More...
 
void CNcbiApplicationAPI::SetExitCode (int exit_code, EExitMode when=eExceptionalExits)
 Force the program to return a specific exit code later, either when it exits due to an exception or unconditionally. More...
 
void CNcbiApplicationAPI::SetAppFlags (TAppFlags flags)
 
void CNcbiApplicationAPI::ExecuteOnExitActions ()
 Should only be called from the destructors of classes derived from CNcbiApplicationAPI - if it is necessary to access their data members and virtual methods; or to dynamic_cast<> from the base app class. More...
 
void CNcbiApplicationAPI::SetPhoneHomePolicy (IPhoneHomePolicy *policy, ENcbiOwnership ownership=eNoOwnership)
 Set Phone Home Policy. More...
 
IPhoneHomePolicyCNcbiApplicationAPI::GetPhoneHomePolicy () const
 Return pointer to current Phone Home Policy or NULL. More...
 
void CNcbiApplicationAPI::x_HonorStandardSettings (IRegistry *reg=0)
 Read standard NCBI application configuration settings. More...
 
void CNcbiApplicationAPI::x_ReadLogOptions ()
 Read switches that are stored in m_LogOptions from registry and environment. More...
 
void CNcbiApplicationAPI::x_LogOptions (int event)
 Log environment, registry, command arguments, path. More...
 
void CNcbiApplicationAPI::x_SetupStdio (void)
 Setup C++ standard I/O streams' behaviour. More...
 
void CNcbiApplicationAPI::x_AddDefaultArgs (void)
 
void CNcbiApplicationAPI::x_TryInit (EAppDiagStream diag, const char *conf)
 
void CNcbiApplicationAPI::x_TryMain (EAppDiagStream diag, const char *conf, int *exit_code, bool *got_exception)
 
virtual INcbiIdler::~INcbiIdler (void)
 
virtual void INcbiIdler::Idle (void)=0
 
 CDefaultIdler::CDefaultIdler (void)
 
virtual CDefaultIdler::~CDefaultIdler (void)
 
virtual void CDefaultIdler::Idle (void)
 
INcbiIdlerGetIdler (EOwnership ownership=eNoOwnership)
 Return currently installed idler or NULL. More...
 
void SetIdler (INcbiIdler *idler, EOwnership ownership=eTakeOwnership)
 Set new idler and ownership. More...
 
void RunIdler (void)
 Execute currently installed idler if any. More...
 
 pair_base_member< Base, Member >::pair_base_member (void)
 
 pair_base_member< Base, Member >::pair_base_member (const member_type &member_value)
 
 pair_base_member< Base, Member >::pair_base_member (const first_type &first_value, const second_type &second_value)
 
const first_typepair_base_member< Base, Member >::first () const
 
first_typepair_base_member< Base, Member >::first ()
 
const second_typepair_base_member< Base, Member >::second () const
 
second_typepair_base_member< Base, Member >::second ()
 
void pair_base_member< Base, Member >::Swap (pair_base_member< first_type, second_type > &p)
 
 CBoolEnum< TEnum >::CBoolEnum (bool value)
 
 CBoolEnum< TEnum >::CBoolEnum (TEnum value)
 
 CBoolEnum< TEnum >::operator bool () const
 Operator bool. More...
 
 CBoolEnum< TEnum >::operator TEnum () const
 Operator enum. More...
 
 CBoolEnum< TEnum >::CBoolEnum (char *)
 
 CBoolEnum< TEnum >::CBoolEnum (int)
 
 CBoolEnum< TEnum >::CBoolEnum (unsigned int)
 
template<class T >
 CBoolEnum< TEnum >::CBoolEnum (T)
 
 CBoolEnum< TEnum >::operator int () const
 
 CBoolEnum< TEnum >::operator unsigned int () const
 
static X * Creater< X >::Create (void)
 Default create function. More...
 
static void Deleter< X >::Delete (X *object)
 Default delete function. More...
 
static void ArrayDeleter< X >::Delete (X *object)
 Array delete function. More...
 
static void CDeleter< X >::Delete (X *object)
 C Language deallocation function. More...
 
 AutoPtr< X, Del >::AutoPtr (element_type *p=0)
 Constructor. More...
 
 AutoPtr< X, Del >::AutoPtr (element_type *p, const deleter_type &deleter)
 Constructor. More...
 
 AutoPtr< X, Del >::AutoPtr (element_type *p, EOwnership ownership)
 Constructor, own the pointed object if ownership == eTakeOwnership. More...
 
 AutoPtr< X, Del >::AutoPtr (element_type *p, const deleter_type &deleter, EOwnership ownership)
 Constructor, own the pointed object if ownership == eTakeOwnership. More...
 
 AutoPtr< X, Del >::AutoPtr (const AutoPtr< X, Del > &p)
 Copy constructor. More...
 
 AutoPtr< X, Del >::~AutoPtr (void)
 Destructor. More...
 
AutoPtr< X, Del > & AutoPtr< X, Del >::operator= (const AutoPtr< X, Del > &p)
 Assignment operator. More...
 
AutoPtr< X, Del > & AutoPtr< X, Del >::operator= (element_type *p)
 Assignment operator. More...
 
void AutoPtr< X, Del >::SSafeBoolTag::SafeBoolTrue (SSafeBoolTag *)
 
 AutoPtr< X, Del >::operator TBoolType () const
 
bool AutoPtr< X, Del >::operator== (TBoolType) const
 
bool AutoPtr< X, Del >::operator!= (TBoolType) const
 
element_typeAutoPtr< X, Del >::operator* (void) const
 Dereference operator. More...
 
element_typeAutoPtr< X, Del >::operator-> (void) const
 Reference operator. More...
 
element_typeAutoPtr< X, Del >::get (void) const
 Get pointer. More...
 
element_typeAutoPtr< X, Del >::release (void)
 Release will release ownership of pointer to caller. More...
 
void AutoPtr< X, Del >::reset (element_type *p=0, EOwnership ownership=eTakeOwnership)
 Reset will delete the old pointer (if owned), set content to the new value, and assume the ownership upon the new pointer by default. More...
 
void AutoPtr< X, Del >::Swap (AutoPtr< X, Del > &a)
 
bool AutoPtr< X, Del >::IsOwned (void) const
 
element_typeAutoPtr< X, Del >::x_Release (void) const
 Release for const object. More...
 
 AutoArray< X, Del >::AutoArray (size_t size)
 Construct the array using C++ new[] operator. More...
 
 AutoArray< X, Del >::AutoArray (element_type *p=0)
 
 AutoArray< X, Del >::AutoArray (element_type *p, const deleter_type &deleter)
 
 AutoArray< X, Del >::AutoArray (const AutoArray< X, Del > &p)
 
 AutoArray< X, Del >::~AutoArray (void)
 
AutoArray< X, Del > & AutoArray< X, Del >::operator= (const AutoArray< X, Del > &p)
 Assignment operator. More...
 
AutoArray< X, Del > & AutoArray< X, Del >::operator= (element_type *p)
 Assignment operator. More...
 
void AutoArray< X, Del >::SSafeBoolTag::SafeBoolTrue (SSafeBoolTag *)
 
 AutoArray< X, Del >::operator TBoolType () const
 
bool AutoArray< X, Del >::operator== (TBoolType) const
 
bool AutoArray< X, Del >::operator!= (TBoolType) const
 
element_typeAutoArray< X, Del >::get (void) const
 Get pointer. More...
 
element_typeAutoArray< X, Del >::release (void)
 Release will release ownership of pointer to caller. More...
 
const element_typeAutoArray< X, Del >::operator[] (size_t pos) const
 Array style dereference (returns value) More...
 
element_typeAutoArray< X, Del >::operator[] (size_t pos)
 Array style dereference (returns reference) More...
 
void AutoArray< X, Del >::reset (element_type *p=0)
 Reset will delete the old pointer, set content to the new value, and assume the ownership upon the new pointer. More...
 
void AutoArray< X, Del >::Swap (AutoPtr< X, Del > &a)
 
element_typeAutoArray< X, Del >::x_Release (void) const
 Release for const object. More...
 
NCBI_XNCBI_EXPORT void g_ThrowOnNull (void)
 
TValue SThrowOnNull< TValue >::operator() (void) const
 
 CNullable< TValue, TNullToValue >::CNullable (ENull=null)
 Create an empty nullable. More...
 
 CNullable< TValue, TNullToValue >::CNullable (TValue value)
 Initialize nullable with a specific value. More...
 
bool CNullable< TValue, TNullToValue >::IsNull (void) const
 Check if the object is unassigned. More...
 
 CNullable< TValue, TNullToValue >::operator TValue (void) const
 Get nullable value. More...
 
const TValue & CNullable< TValue, TNullToValue >::GetValue (void) const
 Get a const reference to the current value. More...
 
TValue & CNullable< TValue, TNullToValue >::SetValue (void)
 Get a non-const reference to the value. More...
 
CNullableCNullable< TValue, TNullToValue >::operator= (TValue value)
 Assign a value to the nullable. More...
 
CNullableCNullable< TValue, TNullToValue >::operator= (ENull)
 Reset nullable to unassigned state. More...
 
template<class TValue , class TNullToValue = SThrowOnNull<TValue>>
bool operator== (const CNullable< TValue, TNullToValue > &l, const CNullable< TValue, TNullToValue > &r)
 
template<class TValue , class TNullToValue = SThrowOnNull<TValue>>
bool operator!= (const CNullable< TValue, TNullToValue > &l, const CNullable< TValue, TNullToValue > &r)
 
char * strdup (const char *str)
 Supply string duplicate function, if one is not defined. More...
 
template<typename Type >
const Types_ITERATE_ConstRef (const Type &obj)
 
template<typename Type >
bool s_ITERATE_SameObject (const Type &obj1, const Type &obj2)
 
 CStrictId< TKey, TStorage >::CStrictId (void)
 
 CStrictId< TKey, TStorage >::CStrictId (const TThis &other)
 
TThisCStrictId< TKey, TStorage >::operator= (const TThis &other)
 
bool CStrictId< TKey, TStorage >::operator== (const TThis &id) const
 
bool CStrictId< TKey, TStorage >::operator!= (const TThis &id) const
 
bool CStrictId< TKey, TStorage >::operator< (const TThis &id) const
 
bool CStrictId< TKey, TStorage >::operator<= (const TThis &id) const
 
bool CStrictId< TKey, TStorage >::operator> (const TThis &id) const
 
bool CStrictId< TKey, TStorage >::operator>= (const TThis &id) const
 
TThisCStrictId< TKey, TStorage >::operator++ (void)
 
TThis CStrictId< TKey, TStorage >::operator++ (int)
 
TThisCStrictId< TKey, TStorage >::operator-- (void)
 
TThis CStrictId< TKey, TStorage >::operator-- (int)
 
TThis CStrictId< TKey, TStorage >::operator+ (const TThis &id) const
 
TThis CStrictId< TKey, TStorage >::operator- (const TThis &id) const
 
TThis CStrictId< TKey, TStorage >::operator- (void) const
 
TId CStrictId< TKey, TStorage >::Get (void) const
 
void CStrictId< TKey, TStorage >::Set (TId id)
 
TIdCStrictId< TKey, TStorage >::Set (void)
 
template<typename T >
 CStrictId< TKey, TStorage >::CStrictId (T id, typename enable_if< is_same< T, TId >::value, T >::type=0)
 
template<class TKey , class TStorage >
CNcbiOstreamoperator<< (CNcbiOstream &out, const CStrictId< TKey, TStorage > &id)
 
template<class TKey , class TStorage >
CNcbiIstreamoperator>> (CNcbiIstream &in, CStrictId< TKey, TStorage > &id)
 
static void * CRawPointer::Add (void *object, ssize_t offset)
 add offset to object reference (to get object's member) More...
 
static const void * CRawPointer::Add (const void *object, ssize_t offset)
 
static ssize_t CRawPointer::Sub (const void *first, const void *second)
 calculate offset inside object More...
 
 CFastBuffer< KEmbeddedSize, TType >::CFastBuffer (size_t buf_size)
 
 CFastBuffer< KEmbeddedSize, TType >::~CFastBuffer ()
 
TType CFastBuffer< KEmbeddedSize, TType >::operator[] (size_t pos) const
 
TType & CFastBuffer< KEmbeddedSize, TType >::operator* (void)
 
const TType & CFastBuffer< KEmbeddedSize, TType >::operator* (void) const
 
TType * CFastBuffer< KEmbeddedSize, TType >::operator+ (size_t offset)
 
const TType * CFastBuffer< KEmbeddedSize, TType >::operator+ (size_t offset) const
 
TType * CFastBuffer< KEmbeddedSize, TType >::begin (void)
 
const TType * CFastBuffer< KEmbeddedSize, TType >::begin (void) const
 
TType * CFastBuffer< KEmbeddedSize, TType >::end (void)
 
const TType * CFastBuffer< KEmbeddedSize, TType >::end (void) const
 
size_t CFastBuffer< KEmbeddedSize, TType >::size (void) const
 
 CSafeFlags< Enum >::CSafeFlags ()
 
 CSafeFlags< Enum >::CSafeFlags (storage_type flags)
 
 CSafeFlags< Enum >::CSafeFlags (enum_type flags)
 
storage_type CSafeFlags< Enum >::get () const
 
void CSafeFlags< Enum >::SSafeBoolTag::SafeBoolTrue (SSafeBoolTag *)
 
 CSafeFlags< Enum >::operator TBoolType () const
 
bool CSafeFlags< Enum >::operator== (TBoolType) const
 
bool CSafeFlags< Enum >::operator!= (TBoolType) const
 
bool CSafeFlags< Enum >::operator== (const CSafeFlags &b) const
 
bool CSafeFlags< Enum >::operator!= (const CSafeFlags &b) const
 
bool CSafeFlags< Enum >::operator== (int v) const
 
bool CSafeFlags< Enum >::operator!= (int v) const
 
CSafeFlags CSafeFlags< Enum >::operator~ () const
 
CSafeFlags CSafeFlags< Enum >::operator& (const CSafeFlags &b) const
 
CSafeFlagsCSafeFlags< Enum >::operator&= (const CSafeFlags &b)
 
CSafeFlags CSafeFlags< Enum >::operator| (const CSafeFlags &b) const
 
CSafeFlagsCSafeFlags< Enum >::operator|= (const CSafeFlags &b)
 
CSafeFlags CSafeFlags< Enum >::operator^ (const CSafeFlags &b) const
 
CSafeFlagsCSafeFlags< Enum >::operator^= (const CSafeFlags &b)
 
template<class E >
CSafeFlags< Eoperator| (E a, CSafeFlags< E > b)
 Helper operators for safe-flags enums. More...
 
template<class E >
CSafeFlags< Eoperator& (E a, CSafeFlags< E > b)
 
template<class E >
CSafeFlags< Eoperator^ (E a, CSafeFlags< E > b)
 
template<class E >
ostream & operator<< (ostream &out, const CSafeFlags< E > &v)
 
 CNcbiActionGuard::CNcbiActionGuard (void)
 
virtual CNcbiActionGuard::~CNcbiActionGuard (void)
 
template<class TFunc >
void CNcbiActionGuard::AddAction (TFunc func)
 
void CNcbiActionGuard::ExecuteActions (void)
 
 CNcbiActionGuard::CNcbiActionGuard (const CNcbiActionGuard &)
 
CNcbiActionGuardCNcbiActionGuard::operator= (const CNcbiActionGuard &)
 
 CNcbiActionGuard::CAction_Base::CAction_Base (void)
 
virtual CNcbiActionGuard::CAction_Base::~CAction_Base ()
 
virtual void CNcbiActionGuard::CAction_Base::Execute (void) const =0
 
 CNcbiActionGuard::CAction_Base::CAction_Base (const CAction_Base &)
 
CAction_BaseCNcbiActionGuard::CAction_Base::operator= (const CAction_Base &)
 
 CNcbiActionGuard::CAction< TFunc >::CAction (TFunc func)
 
virtual CNcbiActionGuard::CAction< TFunc >::~CAction (void)
 
void CNcbiActionGuard::CAction< TFunc >::Execute (void) const override
 
template<class T1 , class T2 >
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>
constexpr size_t ArraySize (const Element(&)[Size])
 
size_t hash< ncbi::CStrictId< TKey, TStorage > >::operator() (const ncbi::CStrictId< TKey, TStorage > &x) const
 
 IPhoneHomePolicy::IPhoneHomePolicy ()
 Constructor. More...
 
virtual IPhoneHomePolicy::~IPhoneHomePolicy ()
 Destructor. More...
 
virtual void IPhoneHomePolicy::Apply (CNcbiApplicationAPI *app)=0
 Apply policy for an application. More...
 
virtual void IPhoneHomePolicy::Print ()=0
 Print a message about collecting data, disablig tracking and privacy policies. More...
 
virtual void IPhoneHomePolicy::Save ()=0
 Save policy configuration. More...
 
virtual void IPhoneHomePolicy::Restore ()=0
 Restore policy configuration. More...
 
virtual void IPhoneHomePolicy::Init ()
 Initialize policy/reporting API. More...
 
virtual void IPhoneHomePolicy::Finish ()
 Deinitialize policy/reporting API. More...
 
virtual bool IPhoneHomePolicy::IsEnabled () const
 Return current policy status (enabbed/disabled). More...
 
virtual void IPhoneHomePolicy::SetEnabled (bool enabled=true)
 Set policy status (enabbed/disabled). More...
 

Variables

const SDiagMessagencbi::CNcbiToolkit_LogMessage::m_Msg
 
CNcbiApplicationAPICNcbiApplicationGuard::m_App
 
shared_ptr< CReadLockGuardCNcbiApplicationGuard::m_AppLock
 
static CNcbiApplicationAPICNcbiApplicationAPI::m_Instance = nullptr
 Current app. instance. More...
 
CRef< CVersionAPICNcbiApplicationAPI::m_Version
 Program version. More...
 
unique_ptr< CNcbiEnvironmentCNcbiApplicationAPI::m_Environ
 Cached application env. More...
 
CRef< CNcbiRegistryCNcbiApplicationAPI::m_Config
 Guaranteed to be non-NULL. More...
 
unique_ptr< CNcbiOstreamCNcbiApplicationAPI::m_DiagStream
 Opt., aux., see eDS_ToMemory. More...
 
unique_ptr< CNcbiArgumentsCNcbiApplicationAPI::m_Arguments
 Command-line arguments. More...
 
unique_ptr< CArgDescriptionsCNcbiApplicationAPI::m_ArgDesc
 Cmd.-line arg descriptions. More...
 
unique_ptr< CArgsCNcbiApplicationAPI::m_Args
 Parsed cmd.-line args. More...
 
TDisableArgDesc CNcbiApplicationAPI::m_DisableArgDesc
 Arg desc. disabled. More...
 
THideStdArgs CNcbiApplicationAPI::m_HideArgs
 Std cmd.-line flags to hide. More...
 
TStdioSetupFlags CNcbiApplicationAPI::m_StdioFlags
 Std C++ I/O adjustments. More...
 
char * CNcbiApplicationAPI::m_CinBuffer
 Cin buffer if changed. More...
 
string CNcbiApplicationAPI::m_ProgramDisplayName
 Display name of app. More...
 
string CNcbiApplicationAPI::m_ExePath
 Program executable path. More...
 
string CNcbiApplicationAPI::m_RealExePath
 Symlink-free executable path. More...
 
string CNcbiApplicationAPI::m_LogFileName
 Log file name. More...
 
string CNcbiApplicationAPI::m_ConfigPath
 Path to .ini file used. More...
 
int CNcbiApplicationAPI::m_ExitCode
 Exit code to force. More...
 
EExitMode CNcbiApplicationAPI::m_ExitCodeCond
 When to force it (if ever) More...
 
bool CNcbiApplicationAPI::m_DryRun
 Dry run. More...
 
string CNcbiApplicationAPI::m_DefaultConfig
 conf parameter to AppMain More...
 
bool CNcbiApplicationAPI::m_ConfigLoaded
 Finished loading config. More...
 
const char * CNcbiApplicationAPI::m_LogFile
 Logfile if set in the command line. More...
 
int CNcbiApplicationAPI::m_LogOptions
 logging of env, reg, args, path More...
 
CNcbiActionGuard CNcbiApplicationAPI::m_OnExitActions
 Actions executed on app destruction. More...
 
IPhoneHomePolicyCNcbiApplicationAPI::m_PhoneHomePolicy
 Pointer to active Phone Home Policy, if any. More...
 
ENcbiOwnership CNcbiApplicationAPI::m_PhoneHomePolicy_Ownership
 Phone Home Policy ownersheep. More...
 
TAppFlags CNcbiApplicationAPI::m_AppFlags = 0
 
 BEGIN_NCBI_NAMESPACE
 NCBI_EOWNERSHIP_DEFINED. More...
 
member_type pair_base_member< Base, Member >::m_Member
 
bool CBoolEnum< TEnum >::m_Value
 
element_typeAutoPtr< X, Del >::m_Ptr
 Internal pointer representation. More...
 
pair_base_member< deleter_type, boolAutoPtr< X, Del >::m_Data
 State info. More...
 
element_typeAutoArray< X, Del >::m_Ptr
 
pair_base_member< deleter_type, boolAutoArray< X, Del >::m_Data
 State info. More...
 
bool CNullable< TValue, TNullToValue >::m_IsNull
 
TValue CNullable< TValue, TNullToValue >::m_Value
 
const TSeqPos kInvalidSeqPos = ((TSeqPos) (-1))
 Define special value for invalid sequence position. More...
 
TId CStrictId< TKey, TStorage >::m_Id
 
size_t CFastBuffer< KEmbeddedSize, TType >::m_Size
 
TType * CFastBuffer< KEmbeddedSize, TType >::m_Buffer
 
TType CFastBuffer< KEmbeddedSize, TType >::m_EmbeddedBuffer [KEmbeddedSize]
 
storage_type CSafeFlags< Enum >::m_Flags
 
TFunc CNcbiActionGuard::CAction< TFunc >::m_Func
 
TActions CNcbiActionGuard::m_Actions
 
 END_NCBI_NAMESPACE
 
 BEGIN_STD_NAMESPACE
 
 END_STD_NAMESPACE
 
bool IPhoneHomePolicy::m_IsEnabled
 Enable/disable tracking status. More...
 

Friends

class CNcbiApplicationGuard::CNcbiApplicationAPI
 
class CNcbiApplicationAPI::CNcbiApplicationGuard
 
struct AutoPtr< X, Del >::SSafeBoolTag
 
struct AutoArray< X, Del >::SSafeBoolTag
 
struct CSafeFlags< Enum >::SSafeBoolTag
 
template<class T >
using c_unique_ptr = unique_ptr< T, void(*)(T *)>
 Template helpers for unique_ptr to work with resource allocating/deallocating C functions. More...
 
template<class T , typename TDeleter >
unique_ptr< T, TDeleter > make_c_unique (T *p, TDeleter d)
 Eliminates the necessity for specifying types of both allocated resource and deallocating C function. More...
 
template<class T >
unique_ptr< T, void(*)(void *)> make_c_unique (T *p)
 Overload for the above for all types of allocated memory that are to be deallocated by free() More...
 
#define NCBI_EXPORT_FUNC_DECLARE(lib, func)
 
#define NCBI_EXPORT_FUNC_DEFINE(lib, func)
 

Detailed Description

Macro Definition Documentation

◆ CNcbiApplication

Definition at line 831 of file ncbiapp_api.hpp.

◆ DECLARE_OPERATOR_BOOL

#define DECLARE_OPERATOR_BOOL (   Expr)     DECLARE_SAFE_BOOL_METHOD(Expr)

Declaration of safe bool operator from boolean expression.

Actual operator declaration will be: operator TBoolType(void) const; where TBoolType is a typedef convertible to bool (member pointer).

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 199 of file ncbimisc.hpp.

◆ DECLARE_OPERATOR_BOOL_PTR

#define DECLARE_OPERATOR_BOOL_PTR (   Ptr)     DECLARE_OPERATOR_BOOL((Ptr) != 0)

Declaration of safe bool operator from pointer expression.

Actual operator declaration will be: operator bool(void) const;

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 206 of file ncbimisc.hpp.

◆ DECLARE_OPERATOR_BOOL_REF

#define DECLARE_OPERATOR_BOOL_REF (   Ref)     DECLARE_OPERATOR_BOOL((Ref).NotNull())

Declaration of safe bool operator from CRef<>/CConstRef<> expression.

Actual operator declaration will be: operator bool(void) const;

Definition at line 213 of file ncbimisc.hpp.

◆ DECLARE_SAFE_BOOL_METHOD

#define DECLARE_SAFE_BOOL_METHOD (   Expr)
Value:
struct SSafeBoolTag { \
void SafeBoolTrue(SSafeBoolTag*) {} \
}; \
typedef void (SSafeBoolTag::*TBoolType)(SSafeBoolTag*); \
operator TBoolType() const { \
return (Expr)? &SSafeBoolTag::SafeBoolTrue: 0; \
} \
private: \
bool operator==(TBoolType) const; \
bool operator!=(TBoolType) const; \
public: \
friend struct SSafeBoolTag
bool operator!=(const CNullable< TValue, TNullToValue > &l, const CNullable< TValue, TNullToValue > &r)
Definition: ncbimisc.hpp:747
bool operator==(const CNullable< TValue, TNullToValue > &l, const CNullable< TValue, TNullToValue > &r)
Definition: ncbimisc.hpp:741

Support for safe bool operators.

Low level macro for declaring safe bool operator.

Definition at line 180 of file ncbimisc.hpp.

◆ DECLARE_SAFE_FLAGS

#define DECLARE_SAFE_FLAGS (   E)
Value:
inline NCBI_NS_NCBI::CSafeFlags<E> operator|(E a, E b) \
{ return NCBI_NS_NCBI::CSafeFlags<E>(a) | b; } \
inline NCBI_NS_NCBI::CSafeFlags<E> operator&(E a, E b) \
{ return NCBI_NS_NCBI::CSafeFlags<E>(a) & b; } \
inline NCBI_NS_NCBI::CSafeFlags<E> operator^(E a, E b) \
{ return NCBI_NS_NCBI::CSafeFlags<E>(a) ^ b; } \
inline NCBI_NS_NCBI::CSafeFlags<E> operator~(E a) \
Support for safe enum flags.
Definition: ncbimisc.hpp:1250
CSafeFlags< E > operator|(E a, CSafeFlags< E > b)
Helper operators for safe-flags enums.
Definition: ncbimisc.hpp:1359
CSafeFlags< E > operator&(E a, CSafeFlags< E > b)
Definition: ncbimisc.hpp:1363
CSafeFlags< E > operator^(E a, CSafeFlags< E > b)
Definition: ncbimisc.hpp:1367
#define NCBI_NS_NCBI
Define the name for the NCBI namespace.
Definition: ncbistl.hpp:89
unsigned int a
Definition: ncbi_localip.c:102
const double E

Macro DECLARE_SAFE_FLAGS marks a enum as safe-flags enum.

The argument is the enum name. If the enum is defined inside a class then DECLARE_SAFE_FLAGS() must be placed outside the class definition: DECLARE_SAFE_FLAGS(CMyClass::EFlags);

Definition at line 1346 of file ncbimisc.hpp.

◆ DECLARE_SAFE_FLAGS_TYPE

#define DECLARE_SAFE_FLAGS_TYPE (   E,
  T 
)     typedef NCBI_NS_NCBI::CSafeFlags<E> T

Macro DECLARE_SAFE_FLAGS_TYPE defines a typedef for safe-flags.

First argument is enum name, second argument is the new typedef name. In place of old typedef: typedef int TFlags; put new macro: DECLARE_SAFE_FLAGS_TYPE(EFlags, TFlags);

Definition at line 1338 of file ncbimisc.hpp.

◆ ENTREZ_ID_CONST

#define ENTREZ_ID_CONST (   id)    id

Definition at line 1099 of file ncbimisc.hpp.

◆ ENTREZ_ID_FROM

#define ENTREZ_ID_FROM (   T,
  value 
)    (static_cast<ncbi::TEntrezId>(value))

Definition at line 1098 of file ncbimisc.hpp.

◆ ENTREZ_ID_TO

#define ENTREZ_ID_TO (   T,
  entrez_id 
)    (static_cast<T>(entrez_id))

Definition at line 1097 of file ncbimisc.hpp.

◆ ERASE_ITERATE

#define ERASE_ITERATE (   Type,
  Var,
  Cont 
)
Value:
for ( ITERATE_VAR(Type::iterator) Var = ITERATE_BEGIN(Cont, begin), \
NCBI_NAME2(Var,_next) = Var; \
(Var = NCBI_NAME2(Var,_next)) != (Cont).end() && \
(++NCBI_NAME2(Var,_next), true); )
#define ITERATE_BEGIN(Cont, Begin)
Definition: ncbimisc.hpp:800
#define ITERATE_VAR(Type)
Definition: ncbimisc.hpp:811
#define NCBI_NAME2(Name1, Name2)
Name concatenation macro with two names.
Definition: ncbistl.hpp:122

Non-constant version with ability to erase current element, if container permits.

Use only on containers, for which erase do not ruin other iterators into the container, e.g. map, list, but NOT vector. See also VECTOR_ERASE

Definition at line 843 of file ncbimisc.hpp.

◆ GI_CONST

#define GI_CONST (   gi)    STRICT_ID_CONST(ncbi::TGi, gi)

Definition at line 1087 of file ncbimisc.hpp.

◆ GI_FROM

#define GI_FROM (   T,
  value 
)    STRICT_ID_FROM(ncbi::TGi, T, value)

Definition at line 1086 of file ncbimisc.hpp.

◆ GI_TO

#define GI_TO (   T,
  gi 
)    STRICT_ID_TO(ncbi::TGi, T, gi)

Definition at line 1085 of file ncbimisc.hpp.

◆ INT_ID_FROM

#define INT_ID_FROM (   T,
  value 
)    (static_cast<ncbi::TIntId>(value))

Definition at line 1121 of file ncbimisc.hpp.

◆ INT_ID_TO

#define INT_ID_TO (   T,
  id 
)    (static_cast<T>(id))

Convert gi-compatible int to/from other types.

Definition at line 1120 of file ncbimisc.hpp.

◆ INVALID_ENTREZ_ID

#define INVALID_ENTREZ_ID   ENTREZ_ID_CONST(-1)

Definition at line 1103 of file ncbimisc.hpp.

◆ INVALID_GI

#define INVALID_GI   STRICT_ID_INVALID(ncbi::TGi)

Definition at line 1089 of file ncbimisc.hpp.

◆ INVALID_TAX_ID

#define INVALID_TAX_ID   TAX_ID_CONST(-1)

Definition at line 1116 of file ncbimisc.hpp.

◆ ITERATE

#define ITERATE (   Type,
  Var,
  Cont 
)
Value:
for ( ITERATE_VAR(Type::const_iterator) \
Var = ITERATE_BEGIN(ITERATE_CONST(Cont), begin), \
NCBI_NAME2(Var,_end) = ITERATE_CONST(Cont).end(); \
Var != NCBI_NAME2(Var,_end); ++Var )
constexpr auto end(const ct_const_array< T, N > &in) noexcept
#define ITERATE_CONST(Cont)
Definition: ncbimisc.hpp:791

ITERATE macro to sequence through container elements.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp, and /home/coremake/doxygen/cxx/include/corelib/ncbistr.hpp.

Definition at line 815 of file ncbimisc.hpp.

◆ ITERATE_0_IDX

#define ITERATE_0_IDX (   idx,
  up_to 
)     for( TSeqPos idx = 0; idx < up_to; ++idx )

idx loops from 0 (inclusive) to up_to (exclusive)

Definition at line 865 of file ncbimisc.hpp.

◆ ITERATE_BEGIN

#define ITERATE_BEGIN (   Cont,
  Begin 
)
Value:
"rvalue container in *ITERATE"), (Cont).Begin())
bool s_ITERATE_SameObject(const Type &obj1, const Type &obj2)
Definition: ncbimisc.hpp:796
#define NCBI_ASSERT_EXPR(expr, mess)
Definition: ncbidbg.hpp:131
CBeginInfo Begin(C &obj)
Get starting point of object hierarchy.
Definition: iterator.hpp:1004

Definition at line 800 of file ncbimisc.hpp.

◆ ITERATE_BOTH_BOOL_VALUES

#define ITERATE_BOTH_BOOL_VALUES (   BoolVar)     for( bool BoolVar##BOTH_BOOL_VALUES_DONE##__LINE__ = false, BoolVar = false; ! BoolVar##BOTH_BOOL_VALUES_DONE##__LINE__ ; BoolVar##BOTH_BOOL_VALUES_DONE##__LINE__ = BoolVar, BoolVar = true )

The body of the loop will be run with Var equal to false and then true.

The seemlingly excessive complexity of this macro is to get around a couple of limitations: * A bool only has two states, so it's not possible to represent the complete state space of (first iteration, second iteration, done) without another variable. * The variables declared in a for-loop's first part must be of the same type, so the other variable has to be a bool instead of something more convenient such as as a loop-counter.

Definition at line 861 of file ncbimisc.hpp.

◆ ITERATE_CONST

#define ITERATE_CONST (   Cont)    NCBI_NS_NCBI::s_ITERATE_ConstRef(Cont)

Definition at line 791 of file ncbimisc.hpp.

◆ ITERATE_SIMPLE

#define ITERATE_SIMPLE (   num_iters)     ITERATE_0_IDX( _dummy_idx_94768308_##__LINE__, num_iters )

Just repeat the body of the loop num_iters times.

Definition at line 869 of file ncbimisc.hpp.

◆ ITERATE_VAR

#define ITERATE_VAR (   Type)    Type

Definition at line 811 of file ncbimisc.hpp.

◆ NCBI_DEPRECATED_CLASS

#define NCBI_DEPRECATED_CLASS   NCBI_DEPRECATED_CTOR(class)

Macro used to mark a class as deprecated.

See also
NCBI_DEPRECATED_CTOR

Definition at line 1215 of file ncbimisc.hpp.

◆ NCBI_DEPRECATED_CTOR

#define NCBI_DEPRECATED_CTOR (   decl)    decl NCBI_DEPRECATED

Macro used to mark a constructor as deprecated.

The correct syntax for this varies from compiler to compiler: older versions of GCC (prior to 3.4) require NCBI_DEPRECATED to follow any relevant constructor declarations, but some other compilers (Microsoft Visual Studio 2005, IBM Visual Age / XL) require it to precede any relevant declarations, whether or not they are for constructors.

Examples
/home/coremake/doxygen/cxx/include/util/buffer_writer.hpp, and /home/coremake/doxygen/cxx/src/objtools/data_loaders/asn_cache/buffer_writer.hpp.

Definition at line 1209 of file ncbimisc.hpp.

◆ NCBI_EOWNERSHIP_DEFINED

#define NCBI_EOWNERSHIP_DEFINED

NCBI_ESWITCH_DEFINED.

Definition at line 82 of file ncbimisc.hpp.

◆ NCBI_ESWITCH_DEFINED

#define NCBI_ESWITCH_DEFINED

Definition at line 56 of file ncbimisc.hpp.

◆ NCBI_EXPORT_FUNC_DECLARE

#define NCBI_EXPORT_FUNC_DECLARE (   lib,
  func 
)
Value:
namespace NCBI_ ## lib \
{ \
namespace S ## func \
{ \
using T = decltype(func); \
\
NCBI_ ## lib ## _EXPORT T* F(); \
\
template <class T> \
struct S; \
\
template <class TR, class... TArgs> \
struct S<TR (TArgs...)> \
{ \
static TR Call(TArgs... args) { return F()(args...); } \
}; \
} \
\
constexpr auto func = S ## func::S<S ## func::T>::Call; \
}
#define T(s)
Definition: common.h:230
#define S(x, n)
#define F(x)
Make a parametrized function appear to have only one variable.
Definition: ncbi_math.c:342

Definition at line 1469 of file ncbimisc.hpp.

◆ NCBI_EXPORT_FUNC_DEFINE

#define NCBI_EXPORT_FUNC_DEFINE (   lib,
  func 
)
Value:
namespace NCBI_ ## lib \
{ \
namespace S ## func \
{ \
T* F() { return ::func; } \
} \
}

Definition at line 1491 of file ncbimisc.hpp.

◆ NCBI_INT8_GI

#define NCBI_INT8_GI

Type for sequence GI.

Use this typedef rather than its expansion, which may change.

Definition at line 978 of file ncbimisc.hpp.

◆ NCBI_TOOLKIT_EXPORT

#define NCBI_TOOLKIT_EXPORT

Definition at line 66 of file ncbi_toolkit_impl.hpp.

◆ NON_CONST_ITERATE

#define NON_CONST_ITERATE (   Type,
  Var,
  Cont 
)
Value:
for ( ITERATE_VAR(Type::iterator) Var = ITERATE_BEGIN(Cont, begin); \
Var != (Cont).end(); ++Var )

Non constant version of ITERATE macro.

Definition at line 822 of file ncbimisc.hpp.

◆ NON_CONST_REVERSE_ITERATE

#define NON_CONST_REVERSE_ITERATE (   Type,
  Var,
  Cont 
)
Value:
for ( ITERATE_VAR(Type::reverse_iterator) \
Var = ITERATE_BEGIN(Cont, rbegin); \
Var != (Cont).rend(); ++Var )

Non constant version of REVERSE_ITERATE macro.

Definition at line 834 of file ncbimisc.hpp.

◆ OVERRIDE_OPERATOR_BOOL

#define OVERRIDE_OPERATOR_BOOL (   TAncestorClass,
  NewBoolExpr 
)
Value:
using TAncestorClass::TBoolType; \
using TAncestorClass::SSafeBoolTag; \
operator TBoolType() const { \
return (NewBoolExpr)? & SSafeBoolTag::SafeBoolTrue : 0; \
}

Override the DECLARE_OPERATOR_BOOL, etc.

from an ancestor class. This is needed because sometimes you can't just use DECLARE_OPERATOR_BOOL due to cases such as the ancestor class being privately inherited from.

Definition at line 220 of file ncbimisc.hpp.

◆ REVERSE_ITERATE

#define REVERSE_ITERATE (   Type,
  Var,
  Cont 
)
Value:
for ( ITERATE_VAR(Type::const_reverse_iterator) \
Var = ITERATE_BEGIN(ITERATE_CONST(Cont), rbegin), \
NCBI_NAME2(Var,_end) = ITERATE_CONST(Cont).rend(); \
Var != NCBI_NAME2(Var,_end); ++Var )

ITERATE macro to reverse sequence through container elements.

Definition at line 827 of file ncbimisc.hpp.

◆ STRICT_ID_CONST

#define STRICT_ID_CONST (   type,
  id 
)     (type(static_cast<type::TId>(ncbi::CConstIdChecker<type::TId, id>::value)))

Definition at line 1070 of file ncbimisc.hpp.

◆ STRICT_ID_FROM

#define STRICT_ID_FROM (   TIdType,
  TIntType,
  id 
)    (TIdType(static_cast<TIdType::TId>(id)))

Definition at line 1069 of file ncbimisc.hpp.

◆ STRICT_ID_INVALID

#define STRICT_ID_INVALID (   type)    STRICT_ID_CONST(type, -1)

Definition at line 1073 of file ncbimisc.hpp.

◆ STRICT_ID_TO

#define STRICT_ID_TO (   TId,
  TInt,
  id 
)    (static_cast<TInt>((id).Get()))

Macros to convert TGi to other types (int, unsigned etc.).

Definition at line 1068 of file ncbimisc.hpp.

◆ STRICT_ID_ZERO

#define STRICT_ID_ZERO (   type)    STRICT_ID_CONST(type, 0)

Definition at line 1072 of file ncbimisc.hpp.

◆ TAX_ID_CONST

#define TAX_ID_CONST (   id)    id

Definition at line 1112 of file ncbimisc.hpp.

◆ TAX_ID_FROM

#define TAX_ID_FROM (   T,
  value 
)    (static_cast<ncbi::TTaxId>(value))

Definition at line 1111 of file ncbimisc.hpp.

◆ TAX_ID_TO

#define TAX_ID_TO (   T,
  tax_id 
)    (static_cast<T>(tax_id))

Definition at line 1110 of file ncbimisc.hpp.

◆ VECTOR_ERASE

#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.

Plain erase() call would invalidate Var_next iterator and would make the cycle controlling code to fail.

Definition at line 852 of file ncbimisc.hpp.

◆ ZERO_ENTREZ_ID

#define ZERO_ENTREZ_ID   ENTREZ_ID_CONST(0)

Definition at line 1102 of file ncbimisc.hpp.

◆ ZERO_GI

#define ZERO_GI   STRICT_ID_ZERO(ncbi::TGi)

Definition at line 1088 of file ncbimisc.hpp.

◆ ZERO_TAX_ID

#define ZERO_TAX_ID   TAX_ID_CONST(0)

Definition at line 1115 of file ncbimisc.hpp.

Typedef Documentation

◆ base_type

template<class Base , class Member >
typedef Base pair_base_member< Base, Member >::base_type

◆ c_unique_ptr

template<class T >
using c_unique_ptr = unique_ptr<T, void(*)(T*)>

Template helpers for unique_ptr to work with resource allocating/deallocating C functions.

Eliminates the necessity for specifying type of deallocating C function.

Definition at line 1444 of file ncbimisc.hpp.

◆ CStrictGi

typedef TGi CStrictGi
Deprecated:
: Use TGi/TEntrezId typedefs.
Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 1028 of file ncbimisc.hpp.

◆ deleter_type [1/2]

template<class X , class Del = Deleter<X>>
typedef Del AutoPtr< X, Del >::deleter_type

Alias for template argument.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 404 of file ncbimisc.hpp.

◆ deleter_type [2/2]

template<class X , class Del = ArrayDeleter<X>>
typedef Del AutoArray< X, Del >::deleter_type

Alias for template argument.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 530 of file ncbimisc.hpp.

◆ element_type [1/2]

template<class X , class Del = Deleter<X>>
typedef X AutoPtr< X, Del >::element_type

Define element type.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 403 of file ncbimisc.hpp.

◆ element_type [2/2]

template<class X , class Del = ArrayDeleter<X>>
typedef X AutoArray< X, Del >::element_type

Define element type.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 529 of file ncbimisc.hpp.

◆ enum_type

template<class Enum >
typedef Enum CSafeFlags< Enum >::enum_type

◆ EOwnership

typedef enum ENcbiOwnership EOwnership

Ownership relations between objects.

Can be used to define or transfer ownership of objects. For example, specify if a CSocket object owns its underlying SOCK object.

◆ ESwitch

typedef enum ENcbiSwitch ESwitch

Aux.

enum to set/unset/default various features.

◆ first_type

template<class Base , class Member >
typedef Base pair_base_member< Base, Member >::first_type

◆ FNcbiApplicationFactory

typedef CNcbiApplication*(* ncbi::FNcbiApplicationFactory) (void)

Provide means of creating custom CNcbiApplication object – to use the latter instead of "dummy" NCBI application.

Note
It is an esoteric feature that is very rarely used.

Definition at line 77 of file ncbi_toolkit_impl.hpp.

◆ member_type

template<class Base , class Member >
typedef Member pair_base_member< Base, Member >::member_type

◆ second_type

template<class Base , class Member >
typedef Member pair_base_member< Base, Member >::second_type

◆ storage_type

template<class Enum >
typedef underlying_type<enum_type>::type CSafeFlags< Enum >::storage_type

◆ TActions

typedef list<unique_ptr<CAction_Base> > CNcbiActionGuard::TActions
private

◆ TAppFlags

Definition at line 619 of file ncbiapp_api.hpp.

◆ TBoolType [1/3]

template<class X , class Del = Deleter<X>>
typedef void(SSafeBoolTag::* AutoPtr< X, Del >::TBoolType) (SSafeBoolTag *)

Definition at line 458 of file ncbimisc.hpp.

◆ TBoolType [2/3]

template<class X , class Del = ArrayDeleter<X>>
typedef void(SSafeBoolTag::* AutoArray< X, Del >::TBoolType) (SSafeBoolTag *)

Definition at line 578 of file ncbimisc.hpp.

◆ TBoolType [3/3]

template<class Enum >
typedef void(SSafeBoolTag::* CSafeFlags< Enum >::TBoolType) (SSafeBoolTag *)

Definition at line 1274 of file ncbimisc.hpp.

◆ TDisableArgDesc

Binary OR of "EDisableArgDesc".

Definition at line 428 of file ncbiapp_api.hpp.

◆ TEntrezId

TEntrezId type for entrez ids which require the same strictness as TGi.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 1041 of file ncbimisc.hpp.

◆ TGi

◆ THideStdArgs

Binary OR of "EHideStdArgs".

Definition at line 449 of file ncbiapp_api.hpp.

◆ TId [1/4]

template<class TKey , class TStorage >
typedef TStorage CStrictId< TKey, TStorage >::TId

◆ TId [2/4]

◆ TId [3/4]

◆ TId [4/4]

◆ TIntId

typedef Int8 TIntId

◆ TNcbiToolkit_XChar

Definition at line 55 of file ncbi_toolkit_impl.hpp.

◆ TSeqPos

typedef unsigned int TSeqPos

Type for sequence locations and lengths.

Use this typedef rather than its expansion, which may change.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 875 of file ncbimisc.hpp.

◆ TSignedSeqPos

typedef int TSignedSeqPos

Type for signed sequence position.

Use this type when and only when negative values are a possibility for reporting differences between positions, or for error reporting – though exceptions are generally better for error reporting. Use this typedef rather than its expansion, which may change.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 887 of file ncbimisc.hpp.

◆ TStdioSetupFlags

Binary OR of "EStdioSetup".

Definition at line 467 of file ncbiapp_api.hpp.

◆ TTaxId

Taxon id type.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 1048 of file ncbimisc.hpp.

◆ TThis

template<class TKey , class TStorage >
typedef CStrictId<TKey, TStorage> CStrictId< TKey, TStorage >::TThis

◆ TUintId

typedef Uint8 TUintId

Enumeration Type Documentation

◆ anonymous enum

template<class TId , TId id>
anonymous enum : TId
Enumerator
value 

Definition at line 1057 of file ncbimisc.hpp.

◆ EAppFlags

Enumerator
fSkipSafeStaticDestroy 

Definition at line 616 of file ncbiapp_api.hpp.

◆ EAppNameType

Enumerator
eBaseName 

per GetProgramDisplayName

eFullName 

per GetProgramExecutablePath(eIgnoreLinks)

eRealName 

per GetProgramExecutablePath(eFollowLinks)

Definition at line 366 of file ncbiapp_api.hpp.

◆ EDisableArgDesc

Disable argument descriptions.

Call with a bit flag set if you do not want std AND user cmd.line args to be parsed. Note that by default the parsing of cmd.line args are enabled.

Enumerator
fDisableStdArgs 

(-logfile, -conffile, -version etc)

Definition at line 425 of file ncbiapp_api.hpp.

◆ EErrCode

Error types that an application can generate.

These error conditions are checked for and caught inside AppMain().

Enumerator
eUnsetArgs 

Command-line argument description not found.

eSetupDiag 

Application diagnostic stream setup failed.

eLoadConfig 

Registry data failed to load from config file.

eSecond 

Second instance of CNcbiApplicationAPI is prohibited.

eNoRegistry 

Registry file cannot be opened.

Definition at line 82 of file ncbiapp_api.hpp.

◆ EExitMode

When to return a user-set exit code.

Enumerator
eNoExits 

never (stick to existing logic)

eExceptionalExits 

when an (uncaught) exception occurs

eAllExits 

always (ignoring Run's return value)

Definition at line 606 of file ncbiapp_api.hpp.

◆ EFollowLinks

Whether to follow symbolic links (also known as shortcuts or aliases)

Enumerator
eIgnoreLinks 

Do not follow symbolic links.

eFollowLinks 

Follow symbolic links.

Definition at line 143 of file ncbimisc.hpp.

◆ EHideStdArgs

Which standard flag's descriptions should not be displayed in the usage message.

Do not display descriptions of the standard flags such as the -h, -logfile, -conffile, -version flags in the usage message. Note that you still can pass them in the command line.

Enumerator
fHideLogfile 

Hide log file description.

fHideConffile 

Hide configuration file description.

fHideVersion 

Hide version description.

fHideFullVersion 

Hide full version description.

fHideDryRun 

Hide dryrun description.

fHideHelp 

Hide help description.

fHideFullHelp 

Hide full help description.

fHideXmlHelp 

Hide XML help description.

fHideAll 

Hide all standard argument descriptions.

Definition at line 438 of file ncbiapp_api.hpp.

◆ EInterruptOnSignal

Interrupt on signal mode.

On UNIX some functions can be interrupted by a signal and EINTR errno value. We can restart or cancel its execution.

Enumerator
eInterruptOnSignal 

Cancel operation if interrupted by a signal.

eRestartOnSignal 

Restart operation if interrupted by a signal.

Definition at line 160 of file ncbimisc.hpp.

◆ ENcbiOwnership

Ownership relations between objects.

Can be used to define or transfer ownership of objects. For example, specify if a CSocket object owns its underlying SOCK object.

Enumerator
eNoOwnership 

No ownership is assumed.

eTakeOwnership 

An object can take ownership of another.

eNoOwnership 
eTakeOwnership 

No ownership assumed.

An object can take ownership of another

Definition at line 99 of file ncbimisc.hpp.

◆ ENcbiSwitch

Aux.

enum to set/unset/default various features.

Enumerator
eOff 
eOn 
eDefault 
eOff 
eOn 
eDefault 

Definition at line 70 of file ncbimisc.hpp.

◆ ENormalizePath

Whether to normalize a path.

Enumerator
eNormalizePath 

Normalize a path.

eNotNormalizePath 

Do not normalize a path.

Definition at line 150 of file ncbimisc.hpp.

◆ ENull

enum ENull

CNullable –.

A value whith 'unassigned' state. Define "null" pointer value.

Enumerator
null 
Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 645 of file ncbimisc.hpp.

◆ ENullable

enum ENullable

Whether a value is nullable.

Enumerator
eNullable 

Value can be null.

eNotNullable 

Value cannot be null.

Definition at line 113 of file ncbimisc.hpp.

◆ EPreparseArgs

Result of PreparseArgs()

Enumerator
ePreparse_Continue 

Continue application execution.

ePreparse_Exit 

Exit the application with zero exit code.

Definition at line 410 of file ncbiapp_api.hpp.

◆ ERetriable

enum ERetriable

Can the action be retried?

Enumerator
eRetriable_No 

It makes no sense to retry the action.

eRetriable_Unknown 

It is unknown if the action can succeed if retried.

eRetriable_Yes 

It makes sense to try again.

Definition at line 167 of file ncbimisc.hpp.

◆ ERound

enum ERound

Whether to truncate/round a value.

Enumerator
eTrunc 

Value must be truncated.

eRound 

Value must be rounded.

Definition at line 136 of file ncbimisc.hpp.

◆ ESeverity

Log message severity.

Enumerator
eInfo 

Informational message.

eWarning 

Warning message.

eError 

Error message.

eCritical 

Critical error message.

eFatal 

Fatal error.

eTrace 

Trace message.

Definition at line 102 of file ncbi_toolkit.hpp.

◆ ESign

enum ESign

Signedness of a value.

Enumerator
eNegative 

Value is negative.

eZero 

Value is zero.

ePositive 

Value is positive.

Definition at line 120 of file ncbimisc.hpp.

◆ EStdioSetup

Flags to adjust standard I/O streams' behaviour.

Enumerator
fNoSyncWithStdio 

Turn off synchronizing of "C++" cin/cout/cerr streams with their "C" counterparts, possibly making the former not thread-safe.

fDefault_CinBufferSize 

Use compiler-specific default of Cin buffer size.

fBinaryCin 

treat standard input as binary

fBinaryCout 

treat standard output as binary

fDefault_SyncWithStdio 
Deprecated:
See also
fNoSyncWithStdio

Definition at line 455 of file ncbiapp_api.hpp.

◆ ETriState

enum ETriState

Enumeration to represent a tristate value.

Enumerator
eTriState_Unknown 

The value is indeterminate.

eTriState_False 

The value is equivalent to false/no.

eTriState_True 

The value is equivalent to true/yes.

Definition at line 128 of file ncbimisc.hpp.

Function Documentation

◆ Add() [1/2]

const void * CRawPointer::Add ( const void *  object,
ssize_t  offset 
)
inlinestatic

Definition at line 1143 of file ncbimisc.hpp.

References offset.

◆ Add() [2/2]

void * CRawPointer::Add ( void *  object,
ssize_t  offset 
)
inlinestatic

add offset to object reference (to get object's member)

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 1137 of file ncbimisc.hpp.

References offset.

Referenced by CSequenceOfTypeInfo::Data(), EndOf(), CSequenceOfTypeInfo::NextNode(), and CChoiceTypeInfo::Which().

◆ AddAction()

template<class TFunc >
void CNcbiActionGuard::AddAction ( TFunc  func)
inline

◆ AddOnExitAction()

template<class TFunc >
void CNcbiApplicationAPI::AddOnExitAction ( TFunc  func)
inline

Add callback to be executed from CNcbiApplicationAPI destructor.

Note
It is executed earlier, at CNcbiApplication destructor; and, it may be executed even earlier from destructors of other CNcbiApplicationAPI-derived classes.
See also
CNcbiActionGuard, ExecuteOnExitActions()

Definition at line 400 of file ncbiapp_api.hpp.

References CNcbiActionGuard::AddAction(), and CNcbiApplicationAPI::m_OnExitActions.

Referenced by CBDB_Cache_OnAppExit::AddOnExitCallback(), and CBDB_Env_OnAppExit::AddOnExitCallback().

◆ Apply()

virtual void IPhoneHomePolicy::Apply ( CNcbiApplicationAPI app)
pure virtual

Apply policy for an application.

For example, iIt can get and check program arguments, and call any other methods depending on it. Automatically called from CNcbiApplication::SetPhoneHomePolicy().

Parameters
appPointer to the CNcbiApplicationAPI instance.
See also
CNcbiApplication::SetPhoneHomePolicy, CNcbiApplication::GetPhoneHomePolicy

Implemented in CSamplePhoneHomePolicy.

Referenced by CNcbiApplicationAPI::SetPhoneHomePolicy().

◆ AppMain()

int CNcbiApplicationAPI::AppMain ( int  argc,
const char *const argv,
const char *const envp = 0,
EAppDiagStream  diag = eDS_Default,
const char *  conf = NcbiEmptyCStr,
const string name = NcbiEmptyString 
)

Main function (entry point) for the NCBI application.

You can specify where to write the diagnostics to (EAppDiagStream), and where to get the configuration file (LoadConfig()) to load to the application registry (accessible via GetConfig()).

Throw exception if:

  • not-only instance
  • cannot load explicitly specified config.file
  • SetupDiag() throws an exception

If application name is not specified a default of "ncbi" is used. Certain flags such as -logfile, -conffile and -version are special so AppMain() processes them separately.

Parameters
argcArgument count [argc in a regular main(argc, argv)].
argvArgument vector [argv in a regular main(argc, argv)].
envpEnvironment pointer [envp in a regular main(argc, argv, envp)]; a null pointer (the default) corresponds to the standard system array (environ on most Unix platforms).
diagSpecify diagnostic stream.
confSpecify registry to load, as per LoadConfig(). The default is an empty string, requesting automatic detection; it is also possible to pass a specific name (optionally qualified) or a NULL pointer (disabling application-specific registry lookup altogether).
nameSpecify application name, used in diagnostics and automatic registry searching.
Returns
Exit code from Run(). Can also return non-zero value if application threw an exception.
See also
LoadConfig(), Init(), Run(), Exit()

Definition at line 818 of file ncbiapp.cpp.

References _TRACE, a, Abort(), ABORT_ON_THROW, CNcbiApplicationAPI::AppStop(), IRWRegistry::Clear(), Critical(), CSafeStaticGuard::Destroy(), DIAG_POST_LEVEL, DIAG_TRACE, CDiagContext::DiscardMessages(), CNcbiApplicationAPI::eAllExits, eDCM_NoChange, eDPF_Severity, eDS_User, eDT_Enable, CNcbiApplicationAPI::eExceptionalExits, CSafeStaticLifeSpan::eLifeLevel_AppMain, CArgException::eNoValue, CNcbiApplicationAPI::ePreparse_Exit, ERR_POST_X, CArgDescriptions::fDupErrToCerr, CNcbiApplicationAPI::FindProgramExecutablePath(), CArgDescriptions::fNoUsage, CVersionAPI::fPackageShort, CNcbiApplicationAPI::fSkipSafeStaticDestroy, fSuppress_Exception, CVersionAPI::fVersionInfo, GetDiagContext(), GetDiagHandler(), CException::GetErrCode(), CNcbiApplicationAPI::GetFullVersion(), CStreamDiagHandler::GetStream(), i, CDiagContext::IsSetExitCode(), CNcbiApplicationAPI::m_AppFlags, CNcbiApplicationAPI::m_ArgDesc, CNcbiApplicationAPI::m_Arguments, CNcbiApplicationAPI::m_Config, CNcbiApplicationAPI::m_DefaultConfig, CNcbiApplicationAPI::m_DisableArgDesc, CNcbiApplicationAPI::m_DryRun, CNcbiApplicationAPI::m_Environ, CNcbiApplicationAPI::m_ExePath, CNcbiApplicationAPI::m_ExitCode, CNcbiApplicationAPI::m_ExitCodeCond, CNcbiApplicationAPI::m_LogFile, CNcbiApplicationAPI::m_ProgramDisplayName, CNcbiApplicationAPI::m_RealExePath, NCBI_REPORT_EXCEPTION_X, NCBI_RETHROW, NCBI_THROW, NULL, CNcbiApplicationAPI::PreparseArgs(), CVersionAPI::Print(), CVersionAPI::PrintJson(), CVersionAPI::PrintXml(), s_ArgCfgFile, s_ArgDelimiter, s_ArgDryRun, s_ArgFullVersion, s_ArgFullVersionJson, s_ArgFullVersionXml, s_ArgLogFile, s_ArgVersion, s_HandleExceptions(), s_IsApplicationStarted, SetDiagFixedPostLevel(), SetDiagPostAllFlags(), SetDiagTrace(), CDiagContext::SetExitCode(), CNcbiApplicationAPI::SetProgramDisplayName(), SetThrowTraceAbort(), CDiagContext::SetupDiag(), CDirEntry::SplitPath(), NStr::StartsWith(), str(), NStr::strcmp(), string, CNcbiDiag::StrToSeverityLevel(), SuppressSystemMessageBox(), Warning(), CException::what(), CNcbiApplicationAPI::x_AddDefaultArgs(), CNcbiApplicationAPI::x_SetupStdio(), and CNcbiApplicationAPI::x_TryMain().

Referenced by CNcbiTestApplication::InitTestFramework(), main(), Main(), and NcbiSys_main().

◆ AppStart()

void CNcbiApplicationAPI::AppStart ( void  )
protectedvirtual

Method to be called before application start.

Can be used to set DiagContext properties to be printed in the application start message (e.g. host|host_ip_addr, client_ip and session_id for CGI applications).

Reimplemented in CCgiApplication.

Definition at line 1738 of file ncbiapp.cpp.

References GetDiagContext(), CNcbiApplicationAPI::GetProgramExecutablePath(), CDiagContext::IsSetOldPostFormat(), CNcbiApplicationAPI::m_Arguments, CDiagContext::PrintStart(), and NStr::ShellEncode().

Referenced by CNcbiApplicationAPI::x_TryInit().

◆ AppStop()

void CNcbiApplicationAPI::AppStop ( int  exit_code)
protectedvirtual

Method to be called before application exit.

Can be used to set DiagContext properties to be printed in the application stop message (exit_status, exit_signal, exit_code).

Reimplemented in CCgiApplication.

Definition at line 1758 of file ncbiapp.cpp.

References ctx, and GetDiagContext().

Referenced by CNcbiApplicationAPI::AppMain().

◆ ArraySize()

template<class Element , size_t Size>
constexpr size_t ArraySize ( const   Element(&)[Size])
inlineconstexpr

◆ AutoArray() [1/4]

template<class X , class Del = ArrayDeleter<X>>
AutoArray< X, Del >::AutoArray ( const AutoArray< X, Del > &  p)
inline

Definition at line 548 of file ncbimisc.hpp.

◆ AutoArray() [2/4]

template<class X , class Del = ArrayDeleter<X>>
AutoArray< X, Del >::AutoArray ( element_type p,
const deleter_type deleter 
)
inline

Definition at line 544 of file ncbimisc.hpp.

◆ AutoArray() [3/4]

template<class X , class Del = ArrayDeleter<X>>
AutoArray< X, Del >::AutoArray ( element_type p = 0)
inlineexplicit

Definition at line 540 of file ncbimisc.hpp.

◆ AutoArray() [4/4]

template<class X , class Del = ArrayDeleter<X>>
AutoArray< X, Del >::AutoArray ( size_t  size)
inlineexplicit

Construct the array using C++ new[] operator.

Note
In this case you should use ArrayDeleter<> or compatible
Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 536 of file ncbimisc.hpp.

◆ AutoPtr() [1/5]

template<class X , class Del = Deleter<X>>
AutoPtr< X, Del >::AutoPtr ( const AutoPtr< X, Del > &  p)
inline

Copy constructor.

Definition at line 427 of file ncbimisc.hpp.

◆ AutoPtr() [2/5]

template<class X , class Del = Deleter<X>>
AutoPtr< X, Del >::AutoPtr ( element_type p,
const deleter_type deleter 
)
inline

Constructor.

Definition at line 412 of file ncbimisc.hpp.

◆ AutoPtr() [3/5]

template<class X , class Del = Deleter<X>>
AutoPtr< X, Del >::AutoPtr ( element_type p,
const deleter_type deleter,
EOwnership  ownership 
)
inline

Constructor, own the pointed object if ownership == eTakeOwnership.

Definition at line 422 of file ncbimisc.hpp.

◆ AutoPtr() [4/5]

template<class X , class Del = Deleter<X>>
AutoPtr< X, Del >::AutoPtr ( element_type p,
EOwnership  ownership 
)
inline

Constructor, own the pointed object if ownership == eTakeOwnership.

Definition at line 417 of file ncbimisc.hpp.

◆ AutoPtr() [5/5]

template<class X , class Del = Deleter<X>>
AutoPtr< X, Del >::AutoPtr ( element_type p = 0)
inline

Constructor.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 407 of file ncbimisc.hpp.

◆ begin() [1/2]

template<size_t KEmbeddedSize, class TType = char>
TType* CFastBuffer< KEmbeddedSize, TType >::begin ( void  )
inline

◆ begin() [2/2]

template<size_t KEmbeddedSize, class TType = char>
const TType* CFastBuffer< KEmbeddedSize, TType >::begin ( void  ) const
inline

Definition at line 1183 of file ncbimisc.hpp.

References CFastBuffer< KEmbeddedSize, TType >::m_Buffer.

◆ CAction()

template<class TFunc >
CNcbiActionGuard::CAction< TFunc >::CAction ( TFunc  func)
inline

◆ CAction_Base() [1/2]

CNcbiActionGuard::CAction_Base::CAction_Base ( const CAction_Base )
private

◆ CAction_Base() [2/2]

CNcbiActionGuard::CAction_Base::CAction_Base ( void  )
inline

◆ CBoolEnum() [1/6]

template<class TEnum >
CBoolEnum< TEnum >::CBoolEnum ( bool  value)
inline

◆ CBoolEnum() [2/6]

template<class TEnum >
CBoolEnum< TEnum >::CBoolEnum ( char *  )
private

◆ CBoolEnum() [3/6]

template<class TEnum >
CBoolEnum< TEnum >::CBoolEnum ( int  )
private

◆ CBoolEnum() [4/6]

template<class TEnum >
template<class T >
CBoolEnum< TEnum >::CBoolEnum ( T  )
private

◆ CBoolEnum() [5/6]

template<class TEnum >
CBoolEnum< TEnum >::CBoolEnum ( TEnum  value)
inline

Definition at line 314 of file ncbimisc.hpp.

◆ CBoolEnum() [6/6]

template<class TEnum >
CBoolEnum< TEnum >::CBoolEnum ( unsigned int  )
private

◆ CDefaultIdler()

CDefaultIdler::CDefaultIdler ( void  )
inline

Definition at line 727 of file ncbiapp_api.hpp.

◆ CFastBuffer()

template<size_t KEmbeddedSize, class TType = char>
CFastBuffer< KEmbeddedSize, TType >::CFastBuffer ( size_t  buf_size)
inline

◆ CNcbiActionGuard() [1/2]

CNcbiActionGuard::CNcbiActionGuard ( const CNcbiActionGuard )
private

◆ CNcbiActionGuard() [2/2]

CNcbiActionGuard::CNcbiActionGuard ( void  )
inline

◆ CNcbiApplicationAPI()

CNcbiApplicationAPI::CNcbiApplicationAPI ( const SBuildInfo build_info)
explicit

◆ CNcbiApplicationGuard()

CNcbiApplicationGuard::CNcbiApplicationGuard ( CNcbiApplicationAPI app)
private

◆ CNcbiToolkit_LogMessage() [1/2]

ncbi::CNcbiToolkit_LogMessage::CNcbiToolkit_LogMessage ( const CNcbiToolkit_LogMessage )
private

◆ CNcbiToolkit_LogMessage() [2/2]

CNcbiToolkit_LogMessage::CNcbiToolkit_LogMessage ( const SDiagMessage msg)
protected

Definition at line 64 of file ncbi_toolkit.cpp.

◆ CNullable() [1/2]

template<class TValue , class TNullToValue = SThrowOnNull<TValue>>
CNullable< TValue, TNullToValue >::CNullable ( ENull  = null)
inline

Create an empty nullable.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 679 of file ncbimisc.hpp.

◆ CNullable() [2/2]

template<class TValue , class TNullToValue = SThrowOnNull<TValue>>
CNullable< TValue, TNullToValue >::CNullable ( TValue  value)
inline

Initialize nullable with a specific value.

Definition at line 682 of file ncbimisc.hpp.

◆ Create()

template<class X >
static X* Creater< X >::Create ( void  )
inlinestatic

Default create function.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 342 of file ncbimisc.hpp.

◆ CSafeFlags() [1/3]

template<class Enum >
CSafeFlags< Enum >::CSafeFlags ( )
inline

◆ CSafeFlags() [2/3]

template<class Enum >
CSafeFlags< Enum >::CSafeFlags ( enum_type  flags)
inline

Definition at line 1264 of file ncbimisc.hpp.

◆ CSafeFlags() [3/3]

template<class Enum >
CSafeFlags< Enum >::CSafeFlags ( storage_type  flags)
inlineexplicit

Definition at line 1260 of file ncbimisc.hpp.

◆ CStrictId() [1/3]

template<class TKey , class TStorage >
CStrictId< TKey, TStorage >::CStrictId ( const TThis other)
inline

Definition at line 899 of file ncbimisc.hpp.

◆ CStrictId() [2/3]

template<class TKey , class TStorage >
template<typename T >
CStrictId< TKey, TStorage >::CStrictId ( T  id,
typename enable_if< is_same< T, TId >::value, T >::type  = 0 
)
inlineexplicit

Definition at line 927 of file ncbimisc.hpp.

◆ CStrictId() [3/3]

template<class TKey , class TStorage >
CStrictId< TKey, TStorage >::CStrictId ( void  )
inline

◆ Delete() [1/3]

template<class X >
static void Deleter< X >::Delete ( X *  object)
inlinestatic

Default delete function.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 351 of file ncbimisc.hpp.

◆ Delete() [2/3]

template<class X >
static void ArrayDeleter< X >::Delete ( X *  object)
inlinestatic

Array delete function.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 360 of file ncbimisc.hpp.

◆ Delete() [3/3]

template<class X >
static void CDeleter< X >::Delete ( X *  object)
inlinestatic

C Language deallocation function.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 369 of file ncbimisc.hpp.

References free().

◆ DisableArgDescriptions()

void CNcbiApplicationAPI::DisableArgDescriptions ( TDisableArgDesc  disable = fDisableStdArgs)
protected

◆ DryRun()

int CNcbiApplicationAPI::DryRun ( void  )
virtual

Test run the application.

It is only supposed to test if the Run() is possible, or makes sense: that is, test all preconditions etc.

Returns
Exit code.

Reimplemented in CNcbiTestApplication, and CTbl2AsnApp.

Definition at line 292 of file ncbiapp.cpp.

References ERR_POST_X, and Info().

Referenced by CNcbiApplicationAPI::x_TryMain().

◆ end() [1/2]

template<size_t KEmbeddedSize, class TType = char>
TType* CFastBuffer< KEmbeddedSize, TType >::end ( void  )
inline

◆ end() [2/2]

template<size_t KEmbeddedSize, class TType = char>
const TType* CFastBuffer< KEmbeddedSize, TType >::end ( void  ) const
inline

◆ ErrCode()

int CNcbiToolkit_LogMessage::ErrCode ( void  ) const

Get error code.

Definition at line 101 of file ncbi_toolkit.cpp.

References SDiagMessage::m_ErrCode, and ncbi::CNcbiToolkit_LogMessage::m_Msg.

◆ ErrSubCode()

int CNcbiToolkit_LogMessage::ErrSubCode ( void  ) const

Get error subcode.

Definition at line 106 of file ncbi_toolkit.cpp.

References SDiagMessage::m_ErrSubCode, and ncbi::CNcbiToolkit_LogMessage::m_Msg.

◆ Execute() [1/2]

virtual void CNcbiActionGuard::CAction_Base::Execute ( void  ) const
pure virtual

◆ Execute() [2/2]

template<class TFunc >
void CNcbiActionGuard::CAction< TFunc >::Execute ( void  ) const
inlineoverridevirtual

◆ ExecuteActions()

void CNcbiActionGuard::ExecuteActions ( void  )
inline

◆ ExecuteOnExitActions()

void CNcbiApplicationAPI::ExecuteOnExitActions ( )
protected

Should only be called from the destructors of classes derived from CNcbiApplicationAPI - if it is necessary to access their data members and virtual methods; or to dynamic_cast<> from the base app class.

See also
AddOnExitAction()

Definition at line 206 of file ncbiapp.cpp.

References CNcbiActionGuard::ExecuteActions(), and CNcbiApplicationAPI::m_OnExitActions.

Referenced by CNcbiApplication::~CNcbiApplication(), and CNcbiApplicationAPI::~CNcbiApplicationAPI().

◆ Exit()

void CNcbiApplicationAPI::Exit ( void  )
virtual

Cleanup on application exit.

Perform cleanup before exiting. The default behavior of this is "do nothing". If you have special cleanup logic that needs to be performed, then you must override this method with your own logic.

Reimplemented in CSubImageApp, CImageDemoApp, CConvImageApp, CBam2GraphApp, CFeatTreeSampleApp, CEUtilsApp, CDbapiSimpleApp, VSRunSampleApplication, CBlastDemoApplication, CBlastSampleApplication, CBlastDemoApplication, CSampleBasicApplication, CAnalyzeShiftApp, CProcessFilesApp, CReadFilesApp, CColumnarVCFReaderApp, CTestDispatchApp, CAppJobTestApplication, CObjConvProfile, CProjBulderApp, CStreamTestApp, CMytestApplication, SegMaskerApplication, CDemoApp, CObjExtractApp, CNmer_repeatsApplication, CIdfetchApplication, CId2FetchApp, CId1FetchApp, CId1FetchApp, CFormatGuessApp, CFeatImportApp, Cn3DNoWin, CVDBTblastnApp, CVDBBlastnApp, CGuideTreeApplication, CConvert2BlastMaskApplication, BlastdbCopyApplication, CBlastDbCheckApplication, CWalkAsnCacheApplication, CAsnSubCacheCreateApplication, CReadIndexSpeedApp, CPrimeCacheApplication, CAsnCacheDumpSeqIdsApplication, CConcatSeqEntriesApplication, CCacheIndexCopyApp, CAsnCacheTestApplication, CAgpconvertApplication, CAgpValidateApplication, CAdapterSearchApplication, COmssa2pepxmlApplication, CMultiApplication, CMultiApplication, CClustererApplication, CBlastKmerBuildIndexApplication, CBlastKmerApplication, CCkblastindexApplication, CGumbelParamsApplication, CBlastInputDemoApplication, CDemoScoreBuilderApp, CTestCompartApplication, CAlignCleanupApplication, CNCBIwxApplication, CCgiApplication, CSdbapiTest, CDbapiTest, CUsageReportPhoneHomeSampleApp, CDbapiSampleApp, CAppNWA, CAppHitFilter, and CCompartApp.

Definition at line 299 of file ncbiapp.cpp.

Referenced by CCgiApplication::Exit(), and CNcbiApplicationAPI::x_TryMain().

◆ File()

string CNcbiToolkit_LogMessage::File ( void  ) const

Get file name in which message was originated.

Definition at line 119 of file ncbi_toolkit.cpp.

References SDiagMessage::m_File, and ncbi::CNcbiToolkit_LogMessage::m_Msg.

◆ FindProgramExecutablePath()

string CNcbiApplicationAPI::FindProgramExecutablePath ( int  argc,
const char *const argv,
string real_path = 0 
)
staticprotected

Find the application's executable file.

Find the path and name of the executable file that this application is running from. Will be accessible by GetArguments().GetProgramName().

Parameters
argcStandard argument count "argc".
argvStandard argument vector "argv".
real_pathIf non-NULL, will get the fully resolved path to the executable.
Returns
Name of application's executable file (may involve symlinks).
See also
GetArguments().GetProgramName(), GetProgramExecutablePath

Definition at line 1413 of file ncbiapp.cpp.

References _ASSERT, _T_STDSTRING, _TX, BOOL, buf, CDll::eAutoUnload, eFollowLinks, CDll::eLoadNow, eUnknown, FAR, NStr::fSplit_MergeDelimiters, NStr::fSplit_Truncate, CNcbiEnvironment::Get(), CNcbiApplicationAPI::GetArguments(), CDirEntry::GetBase(), CDir::GetCwd(), CDll::GetEntryPoint_Func(), CNcbiApplicationAPI::GetEnvironment(), CDirEntry::GetPathSeparator(), CNcbiArguments::GetProgramName(), HANDLE, CNcbiApplicationAPI::InstanceGuard(), int, NStr::IntToString(), CDirEntry::IsAbsolutePath(), ITERATE, kEmptyStr, CDirEntry::MakePath(), NCBI_THROW, NcbiSys_getenv, CDirEntry::NormalizePath(), NULL, PATH_MAX, s_Init(), s_Path, NStr::Split(), and CDirEntry::SplitPath().

Referenced by CNcbiApplicationAPI::AppMain(), and CNcbiApplicationAPI::GetAppName().

◆ Finish()

virtual void IPhoneHomePolicy::Finish ( void  )
inlinevirtual

Deinitialize policy/reporting API.

Redefine if you want to gracefully terminate reporting API. Automatically called from the destructor.

Reimplemented in CSamplePhoneHomePolicy.

Definition at line 95 of file phone_home_policy.hpp.

Referenced by CNcbiApplicationAPI::SetPhoneHomePolicy(), and IPhoneHomePolicy::~IPhoneHomePolicy().

◆ FinishedLoadingConfig()

bool CNcbiApplicationAPI::FinishedLoadingConfig ( void  ) const
inline

Check if the application has finished loading config file (successfully or not).

Definition at line 796 of file ncbiapp_api.hpp.

References CNcbiApplicationAPI::m_ConfigLoaded.

Referenced by g_GetConfigDouble(), g_GetConfigFlag(), g_GetConfigInt(), g_GetConfigString(), and CParam< TDescription >::sx_GetDefault().

◆ first() [1/2]

template<class Base , class Member >
first_type& pair_base_member< Base, Member >::first ( )
inline

Definition at line 273 of file ncbimisc.hpp.

◆ first() [2/2]

template<class Base , class Member >
const first_type& pair_base_member< Base, Member >::first ( ) const
inline

◆ FlushDiag()

SIZE_TYPE CNcbiApplicationAPI::FlushDiag ( CNcbiOstream os,
bool  close_diag = false 
)

Flush the in-memory diagnostic stream (for "eDS_ToMemory" case only).

In case of "eDS_ToMemory", the diagnostics is stored in the internal application memory buffer ("m_DiagStream"). Call this function to dump all the diagnostics to stream "os" and purge the buffer.

Parameters
osOutput stream to dump diagnostics to. If it is NULL, then nothing will be written to it (but the buffer will still be purged).
close_diagIf "close_diag" is TRUE, then also destroy "m_DiagStream".
Returns
Total number of bytes actually written to "os".

Definition at line 315 of file ncbiapp.cpp.

References CDiagContext::DiscardMessages(), CDiagContext::FlushMessages(), GetDiagContext(), GetDiagHandler(), and SetDiagStream().

Referenced by CNcbiApplicationAPI::~CNcbiApplicationAPI().

◆ g_ThrowOnNull()

NCBI_XNCBI_EXPORT void g_ThrowOnNull ( void  )

◆ get() [1/3]

template<class Enum >
storage_type CSafeFlags< Enum >::get ( void  ) const
inline

◆ Get() [1/3]

CNcbiApplicationAPI* CNcbiApplicationGuard::Get ( void  )
inline

◆ Get() [2/3]

const CNcbiApplicationAPI* CNcbiApplicationGuard::Get ( void  ) const
inline

Definition at line 111 of file ncbiapp_api.hpp.

References CNcbiApplicationGuard::m_App.

◆ get() [2/3]

template<class X , class Del = Deleter<X>>
element_type* AutoPtr< X, Del >::get ( void  ) const
inline

Get pointer.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 469 of file ncbimisc.hpp.

Referenced by CSeqMaskerUsetHash::add_ht_info(), CSeqMaskerUsetHash::add_vt_info(), CAutomaticGenCodeSingleton::AddGeneticCode(), CFileModules::AddModule(), CRPCClient< TRequest, TReply >::AsyncConnect(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::BlobSize(), BOOST_AUTO_TEST_CASE(), CAlignCompare::SAlignment::BreakOnBoundaries(), BuildAln(), CSeqMap::CanResolveRange(), CAutomaticGenCodeSingleton::CAutomaticGenCodeSingleton(), CCgiWatchFile::CCgiWatchFile(), CConnTest::CheckFWConnections(), CVDBBlastUtil::CheckVDBs(), CLadder::CLadder(), CSearch< LEGACY, NHITS >::ClearLadderCalc(), CompressNcbi2na(), CReaderServiceConnector::Connect(), CPSG_Blob_Task::CreateLoadedChunks(), CPssmCddInputTest::CreatePssmInput(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::CreateReader(), CTeeDiagHandler::CTeeDiagHandler(), CConnTest::DispatcherOkay(), CSeqMaskerOstatOpt::doFinalize(), CGffObjectLoader::Execute(), CConnTest::ExtraCheckOnFailure(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::Fetch(), CAliasTypeStrings::GenerateCode(), CAliasTypeStrings::GenerateUserHPPCode(), CDataType::GetAnyTypeInfo(), CTemplate1TypeStrings::GetArg1Type(), CTemplate2TypeStrings::GetArg2Type(), CNcbiTestApplication::GetArgDescrs(), CBlastSeqVectorFromCSeq_data::GetCompressedPlusStrand(), CBlastSeqVectorOM::GetCompressedPlusStrand(), CReaderServiceConnector::GetConnDescription(), CAutoPtrTypeInfo< Data >::GetData(), CPointerTypeStrings::GetDataTypeStr(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::GetDb(), CStringPairs< TExtraValuesMap >::GetDecoder(), CDataMember::GetDefault(), CUniSequenceDataType::GetElementType(), CStringPairs< TExtraValuesMap >::GetEncoder(), CConnTest::GetFWConnections(), CIdlerWrapper::GetIdler(), CBamDb::GetIdMapper(), CNcbiTestApplication::GetIniParser(), CTL_RowResult::GetItemInternal(), CSearch< LEGACY, NHITS >::GetLadderCalc(), CBAMDataLoader::GetLoaderNameFromArgs(), CTeeDiagHandler::GetLogName(), CMSHit::GetModInfo(), CMSPeakList::GetMZI(), CDataTypeModule::GetNamespace(), CTeeDiagHandler::GetOriginalHandler(), CFileCode::GetPrimaryClass(), CDataType::GetRealTypeInfo(), CDataMember::GetType(), CCgiWatchFile::HasChanged(), CConnTest::HttpOkay(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::InitDbMutex(), CDiagMatcher::IsErrCodeMatcher(), CPubseqReader::LoadGiHash(), CPubseqReader::LoadGiSeq_ids(), CPubseqReader::LoadSeq_idAccVer(), CPubseqReader::LoadSeq_idInfo(), main(), CStringPairs< TExtraValuesMap >::Merge(), MergeExternal(), NcbiOpenURL(), CPipeHandle::Open(), CLadder::operator[](), CRWStreambuf::overflow(), CStringPairs< TExtraValuesMap >::Parse(), CTeeDiagHandler::Post(), CSplitCacheApp::ProcessBlob(), CSplitCacheApp::ProcessEntry(), PsiBlastComputePssmFromAlignment(), CBDB_File::ReadCursor(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::ReadRealloc(), CTeeDiagHandler::Reopen(), CMergeVolumes::Run(), CIdlerWrapper::RunIdler(), s_HttpConnectorBuilder(), s_IdLabel(), s_ServiceConnectorBuilder(), s_SocketConnectorBuilder(), s_TestCreatePssmFromFreqs(), CBamDb::SAADBImpl::SAADBImpl(), SERV_GetServers(), CConnTest::ServiceOkay(), CSearch< LEGACY, NHITS >::SetLadderCalc(), CMSHit::SetModInfo(), LinkHspTestFixture::setupLinkHspInputBlastn(), SetupQueries_OMF(), NuclWordFinderTextFixture::setupSequences(), SetupSubjects_OMF(), CFastaOstream::SetWidth(), CRWStreambuf::showmanyc(), CAlignCompare::SAlignment::Slice(), CConnTest::StatefulOkay(), CRWStreambuf::underflow(), CSDBAPI::UpdateMirror(), CSQLITE_Blob::Write(), CStreamLineReader::x_AdvanceEOLSimple(), CStreamLineReader::x_AdvanceEOLUnknown(), CRPCClient< TRequest, TReply >::x_Connect(), CRPCClient< TRequest, TReply >::x_ConnectURL(), CPsiBlastInputClustalW::x_CopyQueryToMsa(), CBDB_RawFile::x_DB_CPut(), CBDB_RawFile::x_DB_Fetch(), CBDB_RawFile::x_DB_Put(), CBDB_RawFile::x_DBC_Fetch(), CSDB_Decryptor::x_Decrypt(), CPsiBlastInputClustalW::x_ExtractAlignmentData(), CPsiBlastInputClustalW::x_ExtractQueryForPssm(), CPsiBlastInputClustalW::x_ExtractQueryFromMsa(), CBlastFastaInputSource::x_FastaToSeqLoc(), x_FormatError(), CId1Reader::x_GetConnection(), CId2Reader::x_GetConnection(), CPubseqReader::x_GetConnection(), CPubseq2Reader::x_GetConnection(), CGen_code_table::x_GetImplementation(), CSeqVector::x_GetIterator(), CLDS2_Database::x_GetStatement(), CLoadLockSetter::x_Init(), CGen_code_table::x_InitImplementation(), CId2FetchApp::x_InitPubSeqConnection(), CTSE_Split_Info::x_LoadChunks(), COSGConnectionPool::x_OpenConnection(), CPdfObject::x_PrintTo(), CId2FetchApp::x_ProcessData(), CPagedFile::x_ReadPage(), CPubseqReader::x_ReceiveData(), CSeqVector::x_ResetIterator(), CDBLBClientApp::x_RunWhatIs(), CDBLBClientApp::x_RunWhereIs(), CPubseq2Reader::x_SendPacket(), CId2FetchApp::x_SendRequestPacket(), CPsiBlastInputClustalW::x_ValidateQueryInMsa(), CFastaOstream::x_WriteSequence(), CRWStreambuf::xsgetn(), and CRWStreambuf::xsputn().

◆ get() [3/3]

template<class X , class Del = ArrayDeleter<X>>
element_type* AutoArray< X, Del >::get ( void  ) const
inline

◆ Get() [3/3]

template<class TKey , class TStorage >
TId CStrictId< TKey, TStorage >::Get ( void  ) const
inline

◆ GetAppName()

string CNcbiApplicationAPI::GetAppName ( EAppNameType  name_type = eBaseName,
int  argc = 0,
const char *const argv = NULL 
)
static

◆ GetArgDescriptions()

const CArgDescriptions * CNcbiApplicationAPI::GetArgDescriptions ( void  ) const
inlineprotected

◆ GetArgs()

const CArgs & CNcbiApplicationAPI::GetArgs ( void  ) const
virtual

Get parsed command line arguments.

Get command line arguments parsed according to the arg descriptions set by SetupArgDescriptions(). Throw exception if no descriptions have been set.

Returns
The CArgs object containing parsed cmd.-line arguments.
See also
SetupArgDescriptions().

Reimplemented in CCgiApplication.

Definition at line 305 of file ncbiapp.cpp.

References CNcbiApplicationAPI::m_Args, and NCBI_THROW.

Referenced by CReadBlastApp::AnalyzeSeqs(), CSamplePhoneHomePolicy::Apply(), CFileModules::BeginXMLSchema(), BOOST_AUTO_TEST_CASE(), CAlignCollapser::CAlignCollapser(), CNcbiApplogApp::Cmd_Generate(), CNcbiApplogApp::Cmd_Health(), CReadBlastApp::CollectFrameshiftedSeqs(), CPsgPerfApplication::ColorMe(), CBlastDBAliasApp::ConvertGiFile(), CBlastDBAliasApp::CreateAliasFile(), CNcbiEncryptApp::Decrypt(), CDbapiSimpleApp::DemoDynamicSql(), CSdbapiSimpleApp::DemoDynamicSql(), CDbapiSimpleApp::DemoParamerizedSql(), CSdbapiSimpleApp::DemoParamerizedSql(), CDbapiSimpleApp::DemoSqlInjection(), CSdbapiSimpleApp::DemoSqlInjection(), CSampleNetCacheClient::DemoStream(), CPsiBlastApp::DoIterations(), CReadBlastApp::dump_fasta_for_pretty_blast(), DumpExpected(), CNcbiEncryptApp::Encrypt(), CAlignCollapser::FilterAlignments(), CDataTool::GenerateCode(), CNcbiEncryptApp::GenerateKey(), SGridWorkerNodeImpl::GetArgs(), CCgiApplication::GetArgs(), CJniUtil::GetArgsFromNcbiApp(), CAlignCollapser::GetCollapsedAlgnments(), pub_report::CPubReportApp::GetEutilsOnly(), CDemoApp::GetIds(), pub_report::CPubReportApp::GetInputStream(), CIdMapperApp::GetMapper(), pub_report::CPubReportApp::GetMaxDateCheck(), CCodeGenerator::GetOpt(), pub_report::CPubReportApp::GetOutputStream(), subfuse::CSubfuseApp::GetOutputStream(), CMytestApplication::GetSeqEntry(), pub_report::CPubReportApp::GetSerialDataFormat(), CIdMapperApp::GetSourceIds(), CCleanupApp::HandleSeqEntry(), CFeatTreeSampleApp::Init(), CIgBlastnApp::Init_Worker_Threads(), CCgiApplication::InitArgs(), pub_report::CPubReportApp::IsJournalReport(), pub_report::CPubReportApp::IsUnpublishedReport(), CAlnVwrApp::LoadDenseg(), CAlnMrgApp::LoadInputAlns(), CId1FetchApp::LookUpGI(), NCBITEST_AUTO_INIT(), NCBITEST_INIT_VARIABLES(), SGridWorkerNodeImpl::OfflineRun(), CAsn2FastaApp::OpenFastaOstream(), CDbapiSimpleApp::ParseArgs(), CSdbapiSimpleApp::ParseArgs(), CProjBulderApp::ParseArguments(), CBlastFormatterApp::PrintFormattedOutput(), CBlastFormatterVdbApp::PrintFormattedOutput(), CAlnMrgApp::PrintMergedAln(), CAsn2FastaApp::PrintQualityScores(), CPsgPerfApplication::PrintResult(), CSplitCacheApp::Process(), CBlastDemoApplication::ProcessCommandLineArgs(), CDataTool::ProcessData(), CBam2GraphApp::ProcessFile(), CDataTool::ProcessModules(), CBiosampleChkApp::ProcessOneFile(), CBam2GraphApp::ProcessSrz(), CNcbiApplogApp::Redirect(), CDemoContigAssemblyApp::Run(), CMergeyApp::Run(), CNgAlignApp::Run(), CProSplignApp::Run(), CSRSearchApplication::Run(), CReadresult::Run(), COMSSA::Run(), COMSSAMerge::Run(), CDemoSeqQaApp::Run(), CBlastFormatterApp::Run(), CBlastnApp::Run(), CBlastpApp::Run(), CBlastxApp::Run(), CDeltaBlastApp::Run(), CPsiBlastApp::Run(), CRPSBlastApp::Run(), CRPSTBlastnApp::Run(), CSeedTopApp::Run(), CTblastnApp::Run(), CTblastxApp::Run(), CBlastDBAliasApp::Run(), CBlastdbConvertApp::Run(), CBlastDBCmdApp::Run(), CBlastFormatterVdbApp::Run(), CBlastVdbCmdApp::Run(), CCompartApp::Run(), CCompactSAMApplication::Run(), CExonSelectorApplication::Run(), CAppHitFilter::Run(), CIgBlastnApp::Run(), CIgBlastpApp::Run(), CMagicBlastApp::Run(), CPsgClientApp::Run(), CRMBlastnApp::Run(), CSplignApp::Run(), CSrcChkApp::Run(), seqsubmit_split::CSeqSubSplitter::Run(), CVecScreenApp::Run(), CDbapiDriverSampleApp::Run(), CDbapiSampleApp::Run(), CTestGuiRegistryApp::Run(), CGBProjectTool::Run(), CNcbiApplogApp::Run(), CTax4BlastDemo::Run(), CHugeFileDemoApp::Run(), CDbapiTest::Run(), CSdbapiTest::Run(), CAnnotWriterApp::Run(), CAsn2FastaApp::Run(), CAsn2FlatApp::Run(), CCleanupApp::Run(), CDiscRepApp::Run(), CMultiReaderApp::Run(), pub_report::CPubReportApp::Run(), CPubmedFetchApplication::Run(), CTestRemoteUpdaterApplication::Run(), SGridWorkerNodeImpl::Run(), CGridWorkerApp::Run(), CThreadedApp::Run(), CAVApp::Run(), CAlignCleanupApplication::Run(), CTestCompartApplication::Run(), CDemoScoreBuilderApp::Run(), CBlastInputDemoApplication::Run(), CGumbelParamsApplication::Run(), CCkblastindexApplication::Run(), CBlastKmerApplication::Run(), CBlastKmerBuildIndexApplication::Run(), CClustererApplication::Run(), CMultiApplication::Run(), CLocalFinderApp::Run(), COmssa2pepxmlApplication::Run(), CAdapterSearchApplication::Run(), CCpGDemoApp::Run(), CGeneModelDemoApp::Run(), CRegexpLocApp::Run(), CXcompareAnnotsApplication::Run(), CWinMaskDemoApplication::Run(), CAgpValidateApplication::Run(), CAgpconvertApplication::Run(), CAsnCacheTestApplication::Run(), CCacheIndexCopyApp::Run(), CConcatSeqEntriesApplication::Run(), CAsnCacheDumpSeqIdsApplication::Run(), CPrimeCacheApplication::Run(), CReadIndexSpeedApp::Run(), CAsnSubCacheCreateApplication::Run(), CWalkAsnCacheApplication::Run(), CBiosampleChkApp::Run(), BlastdbCopyApplication::Run(), CGuideTreeApplication::Run(), CVDBBlastnApp::Run(), CVDBTblastnApp::Run(), Cn3DNoWin::Run(), CCompartApplication::Run(), CConversionApp::Run(), CDBLBClientApp::Run(), CDustMaskApplication::Run(), CFeatImportApp::Run(), CFormatGuessApp::Run(), CGapStatsApplication::Run(), CGffDeconcatApp::Run(), CGi2TaxIdApp::Run(), CHgvsToSeqfeatConverter::Run(), CId1FetchApp::Run(), CId2FetchApp::Run(), CIdfetchApplication::Run(), CMultipatternApp::Run(), CNcbiEncryptApp::Run(), CNetScheduleDApp::Run(), CNetStorageDApp::Run(), CNetStorageGCApp::Run(), CNmer_repeatsApplication::Run(), CObjExtractApp::Run(), CDemoApp::Run(), CReadBlastApp::Run(), SegMaskerApplication::Run(), CMytestApplication::Run(), CSplitCacheApp::Run(), CStreamTestApp::Run(), subfuse::CSubfuseApp::Run(), CWig2tableApplication::Run(), CWinMaskApplication::Run(), CPsgPerfApplication::Run(), CBDB_CacheVerifyApp::Run(), CBDB_FileDumperApp::Run(), CRunTestApplication::Run(), CMysqlDemoApp::Run(), CTestApplication::Run(), CTestBMApp::Run(), CTestDispatchApp::Run(), CMakeScoreMethodApp::Run(), CColumnarVCFReaderApp::Run(), CEntrez2ClientApp::Run(), CAlnMrgApp::Run(), CAlnVwrApp::Run(), CReadFilesApp::Run(), CProcessFilesApp::Run(), CFetchGBProjectApp::Run(), CSampleAlnmgrApplication::Run(), CSampleAsnApplication::Run(), CSampleBasicApplication::Run(), CBlastDemoApplication::Run(), CBlastSampleApplication::Run(), VSRunSampleApplication::Run(), CEUtilsApp::Run(), CHttpSessionApp::Run(), CSampleLds2Application::Run(), CMultiCommandApplication::Run(), CSampleNetCacheClient::Run(), CGridClientSampleApp::Run(), CSampleNetScheduleClient::Run(), CSampleNetScheduleNode::Run(), CRemoteAppClientSampleApp::Run(), CSampleObjectsApplication::Run(), CEditBioseqSampleApp::Run(), CSampleObjmgrApplication::Run(), CBssInfoApp::Run(), CProcessHighestSeObjs::Run(), CSeqAnnotSplicerApp::Run(), CSampleLibtestApplication::Run(), CBam2GraphApp::Run(), CConvImageApp::Run(), CImageDemoApp::Run(), CSubImageApp::Run(), CGapStatsApplication::RunNoCatch(), CDbapiTestSpeedApp::RunSample(), CLangQueryApp::RunSample(), CAsn2FlatApp::SetFlatfileOstream(), CAlnMrgApp::SetOptions(), CSplitCacheApp::SetupCache(), CHttpSessionApp::SetupParam(), Verbose(), CAlnMrgApp::ViewMergedAln(), CAsn2FlatApp::WrapINSDSet(), CBlastFormatterApp::x_AddCmdOptions(), CBlastDBAliasApp::x_AddCmdOptions(), CBlastDBCmdApp::x_AddCmdOptions(), CConvert2BlastMaskApplication::x_AddCmdOptions(), CMakeBlastDBApp::x_AddCmdOptions(), CMakeClusterDBApp::x_AddCmdOptions(), CBlastFormatterVdbApp::x_AddCmdOptions(), CBlastVdbCmdApp::x_AddCmdOptions(), CMakeProfileDBApp::x_AddCmdOptions(), CNgAlignApp::x_AddFilters(), CNgAlignApp::x_AddScorers(), CMakeBlastDBApp::x_BuildDatabase(), CMakeClusterDBApp::x_BuildDatabase(), CDiscRepApp::x_ConstructOutputName(), CBlastDBAliasApp::x_ConvertSeqIDFile(), CNgAlignApp::x_CreateBlastAligner(), CNgAlignApp::x_CreateSequenceSet(), CBlastSampleApplication::x_CreateSSeqLoc(), CDiscRepApp::x_DefaultHeader(), CAppHitFilter::x_DoMultiple(), CAppHitFilter::x_DoPairwise(), CAppHitFilter::x_DumpOutput(), CWig2tableApplication::x_Error(), CAsnSubCacheCreateApplication::x_FetchMissingBlobs(), CAsn2FlatApp::x_FFGenerate(), CAsn2FlatApp::x_GenerateBatchMode(), CAsnSubCacheCreateApplication::x_GetBioseqHandle(), CBlastDBAliasApp::x_GetDbsToAggregate(), CBlastDBAliasApp::x_GetOperationMode(), CBlastVdbCmdApp::x_GetQueries(), CConvert2BlastMaskApplication::x_GetReader(), CDustMaskApplication::x_GetReader(), SegMaskerApplication::x_GetReader(), CGapStatsApplication::x_GetScope(), CMakeBlastDBApp::x_GetUserInputTypeHint(), CConvert2BlastMaskApplication::x_GetWriter(), CDustMaskApplication::x_GetWriter(), SegMaskerApplication::x_GetWriter(), CAgpconvertApplication::x_HandleTaxArgs(), CBlastVdbCmdApp::x_InitApplicationData(), CBlastDBCmdApp::x_InitBlastDB(), CBlastDBCmdApp::x_InitBlastDB_TaxIdList(), CAsn2FlatApp::x_InitNewContext(), CMakeProfileDBApp::x_InitProgramParameters(), CId2FetchApp::x_InitPubSeqConnection(), CBlastDBCmdApp::x_InitSearchRequest(), CAgpconvertApplication::x_IsAnySimpleSubsourceArgSet(), CAppHitFilter::x_LoadConstraints(), CNgAlignApp::x_LoadExternalSequences(), CColumnarVCFReaderApp::x_LoadSerializedData(), CAgpconvertApplication::x_LoadTemplate(), CColumnarVCFReaderApp::x_LoadVCFFile(), CNcbiApplicationAPI::x_LogOptions(), CAsn2FastaApp::x_OpenIStream(), CCleanupApp::x_OpenOStream(), CDiscRepApp::x_Output(), CDiscRepApp::x_ParseDirectory(), CBlastDBCmdApp::x_PrintBlastDatabaseInformation(), CBlastVdbCmdApp::x_PrintBlastDatabaseInformation(), CBlastDBCmdApp::x_PrintBlastDatabaseTaxInformation(), CBlastVdbCmdApp::x_PrintVDBPaths(), CPrimeCacheApplication::x_Process_Fasta(), CPrimeCacheApplication::x_Process_SeqEntry(), CBlastDBCmdApp::x_ProcessBatchEntry(), CBlastDBCmdApp::x_ProcessBatchEntry_NoDup(), CBlastDBCmdApp::x_ProcessBatchPig(), CBlastDBCmdApp::x_ProcessEntry(), CHugeFileDemoApp::x_ProcessFileTraditionally(), CAsn2FastaApp::x_ProcessISubdirectory(), CMakeBlastDBApp::x_ProcessMaskData(), CCleanupApp::x_ProcessOneFile(), CBlastDBCmdApp::x_ProcessSearchRequest(), CBlastVdbCmdApp::x_ProcessSearchRequest(), CBlastDBCmdApp::x_ProcessSearchType(), CAppHitFilter::x_ReadInputHits(), CHugeFileDemoApp::x_RunDemo(), CPsiBlastApp::x_RunLocalPsiBlastIterations(), CDBLBClientApp::x_RunLookup(), CBlastnApp::x_RunMTBySplitDB(), CBlastpApp::x_RunMTBySplitDB(), CBlastxApp::x_RunMTBySplitDB(), CRPSBlastApp::x_RunMTBySplitDB(), CRPSTBlastnApp::x_RunMTBySplitDB(), CTblastnApp::x_RunMTBySplitDB(), CBlastnApp::x_RunMTBySplitQuery(), CBlastpApp::x_RunMTBySplitQuery(), CBlastxApp::x_RunMTBySplitQuery(), CRPSBlastApp::x_RunMTBySplitQuery(), CRPSTBlastnApp::x_RunMTBySplitQuery(), CTblastnApp::x_RunMTBySplitQuery(), CAppNWA::x_RunOnPair(), CDBLBClientApp::x_RunWhatIs(), CDBLBClientApp::x_RunWhereIs(), CBlastDBAliasApp::x_SeqIDFileInfo(), CSplignApp::x_SetupBlastOptions(), CVDBBlastnApp::x_SetupLocalVDBSearch(), CVDBTblastnApp::x_SetupLocalVDBSearch(), CMakeBlastDBApp::x_ShouldParseSeqIds(), CBlastDBCmdApp::x_UseLongSeqIds(), CNetScheduleDApp::x_WritePid(), CNetStorageDApp::x_WritePid(), CAnnotWriterApp::xAssemblyAccession(), CAnnotWriterApp::xAssemblyName(), seqsubmit_split::CSeqSubSplitter::xGetInputObject(), seqsubmit_split::CSeqSubSplitter::xInitInputStream(), CAnnotWriterApp::xProcessInputObject(), and seqsubmit_split::CSeqSubSplitter::xTryProcessSeqEntries().

◆ GetArguments()

const CNcbiArguments & CNcbiApplicationAPI::GetArguments ( void  ) const
inline

Get the application's cached unprocessed command-line arguments.

Definition at line 755 of file ncbiapp_api.hpp.

References CNcbiApplicationAPI::m_Arguments.

Referenced by COMSSA::AppInit(), CSamplePhoneHomePolicy::Apply(), CNcbiApplogApp::Cmd_Generate(), CCgiStatistics::Compose_ProgramName(), CNcbiApplicationAPI::FindProgramExecutablePath(), CMetaRegistry::GetDefaultSearchPath(), CDemoContigAssemblyApp::Init(), CNgAlignApp::Init(), CSRSearchApplication::Init(), CDemoSeqQaApp::Init(), CBlastFormatterApp::Init(), CSeedTopApp::Init(), CBlastDBAliasApp::Init(), CBlastdbConvertApp::Init(), CBlastDBCmdApp::Init(), CMakeBlastDBApp::Init(), CMakeClusterDBApp::Init(), CBlastFormatterVdbApp::Init(), CBlastVdbCmdApp::Init(), CCompartApp::Init(), CCompactSAMApplication::Init(), CExonSelectorApplication::Init(), CCgi2RCgiApp::Init(), CAppHitFilter::Init(), CIdMapperApp::Init(), CAppNWA::Init(), CPsgClientApp::Init(), CSplignApp::Init(), CSrcChkApp::Init(), seqsubmit_split::CSeqSubSplitter::Init(), CVecScreenApp::Init(), CDbapiDriverSampleApp::Init(), CDbapiSampleApp::Init(), CGBProjectTool::Init(), CNcbiApplogApp::Init(), CTax4BlastDemo::Init(), CHugeFileDemoApp::Init(), CDbapiTest::Init(), CSdbapiTest::Init(), pub_report::CPubReportApp::Init(), CGridWorkerApp::Init(), CThreadedApp::Init(), CRemoteCgiApp::Init(), CAVApp::Init(), CAlignCleanupApplication::Init(), CProSplignApp::Init(), CTestCompartApplication::Init(), CBlastInputDemoApplication::Init(), CGumbelParamsApplication::Init(), CCkblastindexApplication::Init(), CClustererApplication::Init(), CMultiApplication::Init(), COmssa2pepxmlApplication::Init(), CAdapterSearchApplication::Init(), CCpGDemoApp::Init(), CRegexpLocApp::Init(), CXcompareAnnotsApplication::Init(), CWinMaskDemoApplication::Init(), CAgpValidateApplication::Init(), CAgpconvertApplication::Init(), CAsnCacheTestApplication::Init(), CCacheIndexCopyApp::Init(), CConcatSeqEntriesApplication::Init(), CAsnCacheDumpSeqIdsApplication::Init(), CPrimeCacheApplication::Init(), CReadIndexSpeedApp::Init(), CAsnSubCacheCreateApplication::Init(), CWalkAsnCacheApplication::Init(), CBDBEnvKeeperApp::Init(), CBiosampleChkApp::Init(), CBlastDbCheckApplication::Init(), BlastdbCopyApplication::Init(), CConvert2BlastMaskApplication::Init(), CGuideTreeApplication::Init(), Cn3DNoWin::Init(), CCompartApplication::Init(), CConversionApp::Init(), CDBLBClientApp::Init(), CDustMaskApplication::Init(), CFeatImportApp::Init(), CFormatGuessApp::Init(), CGapStatsApplication::Init(), CHgvsToSeqfeatConverter::Init(), CId1FetchApp::Init(), CId2FetchApp::Init(), CIdfetchApplication::Init(), CMultipatternApp::Init(), CNcbiEncryptApp::Init(), CNetScheduleDApp::Init(), CNetStorageDApp::Init(), CNetStorageGCApp::Init(), CNmer_repeatsApplication::Init(), CObjExtractApp::Init(), CDemoApp::Init(), CReadBlastApp::Init(), SegMaskerApplication::Init(), CMytestApplication::Init(), CSplitCacheApp::Init(), CStreamTestApp::Init(), subfuse::CSubfuseApp::Init(), CWig2tableApplication::Init(), CWinMaskApplication::Init(), CProjBulderApp::Init(), CPsgPerfApplication::Init(), CNcbiTestApplication::Init(), CBDB_CacheVerifyApp::Init(), CBDB_FileDumperApp::Init(), CRunTestApplication::Init(), CMysqlDemoApp::Init(), CObjConvProfile::Init(), CAppJobTestApplication::Init(), CTestDispatchApp::Init(), CMakeScoreMethodApp::Init(), CColumnarVCFReaderApp::Init(), CEntrez2ClientApp::Init(), CAlnMrgApp::Init(), CAlnVwrApp::Init(), CReadFilesApp::Init(), CProcessFilesApp::Init(), CFetchGBProjectApp::Init(), CSampleAlnmgrApplication::Init(), CSampleAsnApplication::Init(), CSampleBasicApplication::Init(), CBlastDemoApplication::Init(), CBlastSampleApplication::Init(), VSRunSampleApplication::Init(), CDbapiSimpleApp::Init(), CEUtilsApp::Init(), CHttpSessionApp::Init(), CSampleLds2Application::Init(), CMultiCommandApplication::Init(), CSampleNetCacheClient::Init(), CGridClientSampleApp::Init(), CSampleNetScheduleClient::Init(), CSampleNetScheduleNode::Init(), CRemoteAppClientSampleApp::Init(), CSampleObjectsApplication::Init(), CEditBioseqSampleApp::Init(), CFeatTreeSampleApp::Init(), CSampleObjmgrApplication::Init(), CSdbapiSimpleApp::Init(), CBssInfoApp::Init(), CProcessHighestSeObjs::Init(), CSeqAnnotSplicerApp::Init(), CSampleSoapClientApplication::Init(), CSampleLibtestApplication::Init(), CBam2GraphApp::Init(), CConvImageApp::Init(), CImageDemoApp::Init(), CSubImageApp::Init(), CBlastFormatterApp::PrintFormattedOutput(), CBlastFormatterVdbApp::PrintFormattedOutput(), CNcbiApplogApp::PrintTokenInformation(), CCommandArgDescriptions::PrintUsage(), CNcbiApplogApp::Redirect(), CDeltaBlastApp::Run(), CPsiBlastApp::Run(), CTblastxApp::Run(), CMagicBlastApp::Run(), CTest::Run(), CVDBBlastnApp::Run(), CVDBTblastnApp::Run(), Cn3DNoWin::Run(), CTestApplication::Run(), CAdvancedAlignCleanup::SetParams(), CNcbiApplicationAPI::SetupArgDescriptions(), CCgiApplication::ShouldRestart(), CNetScheduleHandler::x_ProcessHealth(), CFastCgiApplicationMT::x_RunFastCGI(), CBlastnApp::x_RunMTBySplitDB(), CBlastpApp::x_RunMTBySplitDB(), CBlastxApp::x_RunMTBySplitDB(), CRPSBlastApp::x_RunMTBySplitDB(), CRPSTBlastnApp::x_RunMTBySplitDB(), CTblastnApp::x_RunMTBySplitDB(), CBlastnApp::x_RunMTBySplitQuery(), CBlastpApp::x_RunMTBySplitQuery(), CBlastxApp::x_RunMTBySplitQuery(), CRPSBlastApp::x_RunMTBySplitQuery(), CRPSTBlastnApp::x_RunMTBySplitQuery(), CTblastnApp::x_RunMTBySplitQuery(), CNCBIwxApplication::x_SetupArgDescriptions(), CTestBMApp::x_SetupArgDescriptions(), CMakeProfileDBApp::x_SetupArgDescriptions(), CCgiSampleApplication::x_SetupArgs(), CFastCgiMTSampleApplication::x_SetupArgs(), CGridCgiSampleApplication::x_SetupArgs(), and CNcbiApplicationAPI::x_TryInit().

◆ GetConfig() [1/2]

CNcbiRegistry & CNcbiApplicationAPI::GetConfig ( void  )
inline
Deprecated:
Please use the const version of GetConfig() or protected GetRWConfig()
Deprecated:

Definition at line 776 of file ncbiapp_api.hpp.

References CNcbiApplicationAPI::m_Config.

◆ GetConfig() [2/2]

const CNcbiRegistry & CNcbiApplicationAPI::GetConfig ( void  ) const
inline

Get the application's cached configuration parameters (read-only).

Application also can use protected GetRWConfig() to get read-write

See also
GetRWConfig

Definition at line 770 of file ncbiapp_api.hpp.

References CNcbiApplicationAPI::m_Config.

Referenced by CCgiApplication::AddLBCookie(), NWinHook::CApiHookMgr::CApiHookMgr(), CBlastDBExtractor::CBlastDBExtractor(), CBlastFormat::CBlastFormat(), CConnIniter::CConnIniter(), CDataSourceInitializer::CDataSourceInitializer(), CFastaBioseqSource::CFastaBioseqSource(), CGI2GRID_ComposeHtmlPage(), CGridRPCBaseClient< CAsnBinCompressed >::CGridRPCBaseClient(), CCgiApplication::CheckMemoryLimit(), CCgiStatistics::Compose(), CCgiStatistics::Compose_Entries(), COSGServiceMapper::Configure(), CDBLB_ServiceMapper::ConfigureFromRegistry(), CDBConnectionFactory::ConfigureFromRegistry(), CDBUDRandomMapper::ConfigureFromRegistry(), CDBUDPriorityMapper::ConfigureFromRegistry(), CDBUniversalMapper::ConfigureFromRegistry(), CPluginManager< TClass >::CPluginManager(), CProjectsLstFileFilter::CProjectsLstFileFilter(), CPSGDataLoader_Impl::CPSGDataLoader_Impl(), CCgiApplication::CreateContextWithFlags_Default(), CCgiApplication::CreateFastCGIWatchFile(), CGraphCacheFactory::CreateObject(), CSampleNetCacheClient::DemoIWriterIReader(), CSampleNetCacheClient::DemoStream(), CSeqFormatter::DumpAll(), EnabledDelayBuffers(), CProjBulderApp::EnumOpt(), CIgBlastArgs::ExtractAlgorithmOptions(), CDebugArgs::ExtractAlgorithmOptions(), FindBlastDbPath(), CProjBulderApp::FindDepGraph(), g_GetConfigDouble(), g_GetConfigFlag(), g_GetConfigInt(), g_GetConfigString(), CSeqDBAtlas::GenerateSearchPath(), CRmtScriptTimeout::Get(), CProjBulderApp::GetBuildConfigs(), CCgiContext::GetConfig(), CProjBulderApp::GetConfigureMacro(), CProjBulderApp::GetDatatoolCommandLine(), CProjBulderApp::GetDatatoolId(), CProjBulderApp::GetDatatoolPathForApp(), CProjBulderApp::GetDatatoolPathForLib(), GetDefaultTmsContext(), CWinMaskerFileStorage::GetEnvPath(), CCgiApplication::GetFastCGIChannelErrors(), CCgiApplication::GetFastCGIComplete_Request_On_Sigterm(), CCgiApplication::GetFastCGIDebug(), CCgiApplication::GetFastCGIHonorExitRequest(), CCgiApplication::GetFastCGIIterations(), CCgiApplication::GetFastCGIMTMaxThreads(), CCgiApplication::GetFastCGIStandaloneServer(), CCgiApplication::GetFastCGIStatLog(), CCgiApplication::GetFastCGIStopIfFailed(), CCgiApplication::GetFastCGIWatchFileRestartDelay(), CCgiApplication::GetFastCGIWatchFileTimeout(), CGencollSvc::GetGenCollService(), GetLinksURL(), CCgiApplication::GetLogOpt(), CProjBulderApp::GetMetaDataFiles(), CProjBulderApp::GetProjectTreeInfo(), CProjBulderApp::GetRegSettings(), CCgiSessionSampleApplication::GetSessionStorage(), CSysLog::HonorRegistrySettings(), CSeqTextDemoDlg::Init(), CCgiApplication::Init(), CGridClientApp::Init(), CSDBAPI::Init(), CGlCgiImageApplication::Init(), CCgiRedirectApplication::Init(), CDemoApp::Init(), CCgiApplicationCached::Init(), CGridCgiApplication::InitGridClient(), CProjBulderApp::ParseArguments(), CProjBulderApp::ProcessLocationMacros(), impl::CDriverContext::ReadDBConfParams(), CSrcChkApp::Run(), CAnnotWriterApp::Run(), CAsn2FastaApp::Run(), CAsn2FlatApp::Run(), CCleanupApp::Run(), CCgiApplication::Run(), CNCBIwxApplication::Run(), CAgpValidateApplication::Run(), CBDBEnvKeeperApp::Run(), CId2FetchApp::Run(), CNetScheduleDApp::Run(), CNetStorageDApp::Run(), CNetStorageGCApp::Run(), CDemoApp::Run(), CSampleAlnmgrApplication::Run(), CEditBioseqSampleApp::Run(), CSampleObjmgrApplication::Run(), CTrackMgrClient::s_Ask(), s_CreateISynRegistry(), s_GetConfigString(), s_GetMandatoryFields(), s_init_UseGeoLocNameForCountry(), s_InitAllKNS(), CGraphTrack::s_InitICache(), CBrowserUtils::SendToBrowser(), ColumnarVcfCache::SetInfoFields(), CFeaturePanel::SetInputObject(), CBiosampleChkApp::Setup(), CSplitCacheApp::SetupCache(), SEutilsParams::SEutilsParams(), CMakeBlastDBApp::x_BuildDatabase(), CNetStorageGCApp::x_CheckExpiration(), CDebugDumpViewer::x_CheckLocation(), CODBC_Connection::x_Connect(), CGBDataLoader_Native::x_CreateDriver(), CNetStorageHandler::x_CreateObjectStream(), CQueueDataBase::x_GetConfigQueues(), CNetCacheBlobFetchApp::x_GetInitString(), CSDB_Decryptor::x_GetKey(), CNetStorageHandler::x_GetObject(), NSNPWebServices::x_GetSearchHost(), CDBLBClientApp::x_GetServiceMapper(), CGuiObjectInfoVariation::x_GetTooltipService(), CRmtFileStatus::x_Init(), SDataLoaderConfig::x_Init(), CBlastFormat::x_InitAlignTemplates(), CBlastFormat::x_InitDeflineTemplates(), CDataCrawlerCache::x_InitICache(), CDiagContext::x_LogEnvironment(), CNcbiApplicationAPI::x_LogOptions(), CNetStorageHandler::x_ProcessConfiguration(), CNetScheduleHandler::x_ProcessGetConf(), CCleanupApp::x_ProcessOneFile(), CNetStorageHandler::x_ProcessReconfigure(), CNetScheduleHandler::x_ProcessReloadConfig(), CNcbiTestApplication::x_ReadConfiguration(), CNSTDatabase::x_ReadDbAccessInfo(), CNetStorageGCApp::x_RemoveObjects(), CDataLoadersUtil::x_SetupASNCacheDataLoader(), CDataLoadersUtil::x_SetupVDBDataLoader(), CSequenceSearchForm::x_UpdateFileList(), COrfSearchForm::x_UpdateKozak(), CBlastDBCmdApp::x_UseLongSeqIds(), and CRemoteUpdater::xSetFromConfig().

◆ GetConfigPath()

const string & CNcbiApplicationAPI::GetConfigPath ( void  ) const
inline

◆ GetEnvironment()

const CNcbiEnvironment & CNcbiApplicationAPI::GetEnvironment ( void  ) const
inline

◆ GetErrCodeString()

const char * CAppException::GetErrCodeString ( void  ) const
overridevirtual

Translate from the error code value to its string representation.

Reimplemented from CCoreException.

Definition at line 1773 of file ncbiapp.cpp.

References CAppException::eLoadConfig, CAppException::eNoRegistry, CAppException::eSecond, CAppException::eSetupDiag, CAppException::eUnsetArgs, CCoreException::GetErrCode(), and CException::GetErrCodeString().

◆ GetFullVersion()

const CVersionAPI & CNcbiApplicationAPI::GetFullVersion ( void  ) const

◆ GetIdler()

INcbiIdler* GetIdler ( EOwnership  ownership = eNoOwnership)

Return currently installed idler or NULL.

Update idler ownership according to the flag.

Definition at line 1839 of file ncbiapp.cpp.

References s_IdlerWrapper.

◆ GetInstanceLock()

CRWLock & CNcbiApplicationAPI::GetInstanceLock ( void  )
staticprotected

◆ GetInstanceMutex()

SSystemMutex & CNcbiApplicationAPI::GetInstanceMutex ( void  )
static

Mutex for application singleton object.

Lock this mutex when calling Instance()

Returns
Reference to application instance mutex.
See also
Instance()
Deprecated:
Use InstanceGuard() instead.

Definition at line 111 of file ncbiapp.cpp.

◆ GetNativeToolkitMessage()

const SDiagMessage & CNcbiToolkit_LogMessage::GetNativeToolkitMessage ( void  ) const

Get all of the message's data – as provided natively by the Toolkit.

Definition at line 80 of file ncbi_toolkit.cpp.

References ncbi::CNcbiToolkit_LogMessage::m_Msg.

◆ GetPhoneHomePolicy()

IPhoneHomePolicy* CNcbiApplicationAPI::GetPhoneHomePolicy ( ) const
inlineprotected

Return pointer to current Phone Home Policy or NULL.

See also
SetPhoneHomePolicy(), IPhoneHomePolicy

Definition at line 645 of file ncbiapp_api.hpp.

References CNcbiApplicationAPI::m_PhoneHomePolicy.

◆ GetProgramDisplayName()

const string & CNcbiApplicationAPI::GetProgramDisplayName ( void  ) const
inline

◆ GetProgramExecutablePath()

const string & CNcbiApplicationAPI::GetProgramExecutablePath ( EFollowLinks  follow_links = eIgnoreLinks) const
inline

◆ GetRWConfig()

CNcbiRegistry & CNcbiApplicationAPI::GetRWConfig ( void  )
inlineprotected

◆ GetValue()

template<class TValue , class TNullToValue = SThrowOnNull<TValue>>
const TValue& CNullable< TValue, TNullToValue >::GetValue ( void  ) const
inline

◆ GetVersion()

CVersionInfo CNcbiApplicationAPI::GetVersion ( void  ) const

Get the program version information.

See also
SetVersion, SetFullVersion

Definition at line 1184 of file ncbiapp.cpp.

References CVersionAPI::GetVersionInfo(), and CNcbiApplicationAPI::m_Version.

Referenced by CSamplePhoneHomePolicy::Apply(), BlastdbCopyApplication::BlastdbCopyApplication(), CBlastDBAliasApp::CBlastDBAliasApp(), CBlastDbCheckApplication::CBlastDbCheckApplication(), CBlastDBCmdApp::CBlastDBCmdApp(), CBlastdbConvertApp::CBlastdbConvertApp(), CBlastFormatterApp::CBlastFormatterApp(), CBlastFormatterVdbApp::CBlastFormatterVdbApp(), CBlastnApp::CBlastnApp(), CBlastpApp::CBlastpApp(), CBlastVdbCmdApp::CBlastVdbCmdApp(), CBlastxApp::CBlastxApp(), CConvert2BlastMaskApplication::CConvert2BlastMaskApplication(), CDeltaBlastApp::CDeltaBlastApp(), CMagicBlastApp::CMagicBlastApp(), CMakeBlastDBApp::CMakeBlastDBApp(), CMakeClusterDBApp::CMakeClusterDBApp(), CMakeProfileDBApp::CMakeProfileDBApp(), CNcbiApplogApp::Cmd_Health(), CMultiApplication::CMultiApplication(), CPsiBlastApp::CPsiBlastApp(), CRPSBlastApp::CRPSBlastApp(), CRPSTBlastnApp::CRPSTBlastnApp(), CTblastnApp::CTblastnApp(), CTblastxApp::CTblastxApp(), CVDBBlastnApp::CVDBBlastnApp(), CVDBTblastnApp::CVDBTblastnApp(), CProjBulderApp::GenerateUnixProjects(), CUsageReportAPI::GetAppVersion(), CFileModules::GetRefInfo(), CIgBlastnApp::Init(), CIgBlastpApp::Init(), CAgpValidateApplication::Init(), CSampleSoapServerApplication::Init(), CCgiRequestProcessor::ProcessVersionRequest(), CMagicBlastApp::Run(), CNcbiApplogApp::Run(), CProjBulderApp::Run(), s_InitAllKNS(), SCommonDumpHeader::SCommonDumpHeader(), CTable2AsnContext::UpdateSubmitObject(), CQueueDataBase::x_CheckOpenPreconditions(), and CQueueDataBase::x_CreateStorageVersionFile().

◆ HasLoadedConfig()

bool CNcbiApplicationAPI::HasLoadedConfig ( void  ) const
inline

Check if the config file has been loaded.

Definition at line 791 of file ncbiapp_api.hpp.

References CNcbiApplicationAPI::m_ConfigPath.

Referenced by s_GetConfigString().

◆ HideStdArgs()

void CNcbiApplicationAPI::HideStdArgs ( THideStdArgs  hide_mask)
protected

Set the hide mask for the Hide Std Flags.

Definition at line 1312 of file ncbiapp.cpp.

References CNcbiApplicationAPI::m_HideArgs.

Referenced by CEntrez2ClientApp::CEntrez2ClientApp(), CBlastFormatterApp::Init(), CBlastnApp::Init(), CBlastpApp::Init(), CBlastxApp::Init(), CDeltaBlastApp::Init(), CPsiBlastApp::Init(), CRPSBlastApp::Init(), CRPSTBlastnApp::Init(), CSeedTopApp::Init(), CTblastnApp::Init(), CTblastxApp::Init(), CBlastDBAliasApp::Init(), CBlastdbConvertApp::Init(), CBlastDBCmdApp::Init(), CMakeBlastDBApp::Init(), CMakeClusterDBApp::Init(), CBlastFormatterVdbApp::Init(), CBlastVdbCmdApp::Init(), CCompartApp::Init(), CAppHitFilter::Init(), CIgBlastnApp::Init(), CIgBlastpApp::Init(), CMagicBlastApp::Init(), CAppNWA::Init(), CRMBlastnApp::Init(), CSplignApp::Init(), CVecScreenApp::Init(), CTax4BlastDemo::Init(), CBlastInputDemoApplication::Init(), CGumbelParamsApplication::Init(), CBlastKmerApplication::Init(), CBlastKmerBuildIndexApplication::Init(), CClustererApplication::Init(), CMultiApplication::Init(), CAgpconvertApplication::Init(), CBlastDbCheckApplication::Init(), BlastdbCopyApplication::Init(), CConvert2BlastMaskApplication::Init(), CGuideTreeApplication::Init(), CVDBBlastnApp::Init(), CVDBTblastnApp::Init(), CDustMaskApplication::Init(), CNmer_repeatsApplication::Init(), SegMaskerApplication::Init(), CWinMaskApplication::Init(), CReadFilesApp::Init(), CProcessFilesApp::Init(), CBlastSampleApplication::Init(), VSRunSampleApplication::Init(), and CMakeProfileDBApp::x_SetupArgDescriptions().

◆ Idle() [1/2]

void CDefaultIdler::Idle ( void  )
virtual

Implements INcbiIdler.

Definition at line 1786 of file ncbiapp.cpp.

References DiagHandler_Reopen().

◆ Idle() [2/2]

virtual void INcbiIdler::Idle ( void  )
pure virtual

Implemented in CDefaultIdler.

Referenced by CIdlerWrapper::RunIdler().

◆ Init() [1/2]

virtual void IPhoneHomePolicy::Init ( void  )
inlinevirtual

Initialize policy/reporting API.

Reimplemented in CSamplePhoneHomePolicy.

Definition at line 90 of file phone_home_policy.hpp.

◆ Init() [2/2]

void CNcbiApplicationAPI::Init ( void  )
virtual

Initialize the application.

The default behavior of this is "do nothing". If you have special initialization logic that needs to be peformed, then you must override this method with your own logic.

Reimplemented in CFastCgiMTSampleApplication, CCgiApplicationCached, CSubImageApp, CImageDemoApp, CConvImageApp, CCacheDemoApp, CBam2GraphApp, CDataTool, CSampleLibtestApplication, CSampleSoapServerApplication, CSampleSoapClientApplication, CSeqAnnotSplicerApp, CProcessHighestSeObjs, CBssInfoApp, CSdbapiSimpleApp, CSampleObjmgrApplication, CFeatTreeSampleApp, CEditBioseqSampleApp, CSampleObjectsApplication, CRemoteAppClientSampleApp, CCgiSampleApplication, CSampleNetScheduleNode, CSampleNetScheduleClient, CGridClientSampleApp, CGridCgiSampleApplication, CSampleNetCacheClient, CCgiSampleApplication, CMultiCommandApplication, CSampleLds2Application, CHttpSessionApp, CEUtilsApp, CCgiSampleApplication, CDbapiSimpleApp, CCgiSampleApplication, VSRunSampleApplication, CBlastDemoApplication, CBlastSampleApplication, CBlastDemoApplication, CSampleBasicApplication, CSampleAsnApplication, CSampleAlnmgrApplication, CAnalyzeShiftApp, CFetchGBProjectApp, CAce2AsnApp, CProcessFilesApp, CReadFilesApp, CAlnVwrApp, CAlnMrgApp, CAlnTestApp, CAlnBuildApp, CClientGenomicCollectionsSvcApplication, CEntrez2ClientApp, CApp, CColumnarVCFReaderApp, CMakeScoreMethodApp, CTestDispatchApp, CAppJobTestApplication, CTestBMApp, CObjConvProfile, CTestApplication, CMysqlDemoApp, CRunTestApplication, CRunTestApplication, CBDB_MergeTest, CBDB_SplitTest, CBDB_FileDumperApp, CBDB_BLobDemo1, CBDB_PhoneBookDemo3, CBDB_PhoneBookDemo2, CBDB_PhoneBookDemo1, CBDB_CacheVerifyApp, CNcbiTestApplication, CPsgPerfApplication, CProjBulderApp, CWinMaskApplication, CWig2tableApplication, subfuse::CSubfuseApp, CStreamTestApp, CSplitCacheApp, CMytestApplication, SegMaskerApplication, CReadBlastApp, CDemoApp, CDemoApp, CObjExtractApp, CNmer_repeatsApplication, CNetStorageGCApp, CNetStorageDApp, CNetScheduleDApp, CNcbiEncryptApp, CMultipatternApp, CIdfetchApplication, CId2FetchApp, CId1FetchApp, CId1FetchApp, CHgvsToSeqfeatConverter, CGi2TaxIdApp, CGffDeconcatApp, CGapStatsApplication, CFormatGuessApp, CFeatImportApp, CDustMaskApplication, CDBLBClientApp, CConversionApp, CCompartApplication, Cn3DNoWin, CBsDiffApp, CVDBTblastnApp, CVDBBlastnApp, CGuideTreeApplication, CConvert2BlastMaskApplication, BlastdbCopyApplication, CBlastDbCheckApplication, CBiosampleChkApp, CBDBEnvKeeperApp, CWalkAsnCacheApplication, CAsnSubCacheCreateApplication, CReadIndexSpeedApp, CPrimeCacheApplication, CAsnCacheDumpSeqIdsApplication, CConcatSeqEntriesApplication, CCacheIndexCopyApp, CAsnCacheTestApplication, CAsn2Asn, CAgpconvertApplication, CAgpValidateApplication, CWinMaskDemoApplication, CXcompareAnnotsApplication, CRegexpLocApp, CGeneModelDemoApp, CCpGDemoApp, CAdapterSearchApplication, COmssa2pepxmlApplication, CLocalFinderApp, CMultiApplication, CMultiApplication, CClustererApplication, CBlastKmerBuildIndexApplication, CBlastKmerApplication, CCkblastindexApplication, CGumbelParamsApplication, CBlastInputDemoApplication, CDemoScoreBuilderApp, CTestCompartApplication, CProSplignApp, CMergeyApp, CAlignCleanupApplication, CAVApp, CRemoteCgiApp, CGridCgiApplication, CCgiRedirectApplication, CNCBIwxApplication, CGlCgiImageApplication, CThreadedApp, CGridWorkerApp, CGridClientApp, CCgiApplication, CTestRemoteUpdaterApplication, CPubmedFetchApplication, CPubmedFetchApplication, CTbl2AsnApp, CPsgCgiApp, pub_report::CPubReportApp, CPrt2FsmApp, CMultiReaderApp, CDiscRepApp, CAsnvalApp, CCleanupApp, CAsn2FlatApp, CAsn2FastaApp, CAnnotWriterApp, CSdbapiTest, CDbapiTest, CUsageReportPhoneHomeSampleApp, CUsageReportSampleApp, CHugeFileDemoApp, CTax4BlastDemo, CNcbiApplogApp, CSeqTestApplication, CGBProjectTool, CTestGuiRegistryApp, CDbapiSampleApp, CDbapiDriverSampleApp, CVecScreenApp, seqsubmit_split::CSeqSubSplitter, CSrcChkApp, CSplignApp, CRMBlastnApp, CPsgClientApp, CAppNWA, CMagicBlastApp, CIgBlastpApp, CIgBlastnApp, CIdMapperApp, CAppHitFilter, CCgi2RCgiApp, CExonSelectorApplication, CCompactSAMApplication, CCompartApp, CBlastVdbCmdApp, CBlastFormatterVdbApp, CMakeProfileDBApp, CMakeClusterDBApp, CMakeBlastDBApp, CBlastDBCmdApp, CBlastDBCmdApp, CBlastdbConvertApp, CBlastDBAliasApp, CTblastxApp, CTblastnApp, CSeedTopApp, CRPSTBlastnApp, CRPSBlastApp, CPsiBlastApp, CDeltaBlastApp, CBlastxApp, CBlastpApp, CBlastnApp, CBlastFormatterApp, CDemoSeqQaApp, COMSSAMerge, COMSSABase, CReadresult, CSRSearchApplication, CMkIndexApplication, CNgAlignApp, and CDemoContigAssemblyApp.

Definition at line 286 of file ncbiapp.cpp.

Referenced by CCgiApplication::Init(), CGridClientApp::Init(), CGridWorkerApp::Init(), CHttpSessionApp::Init(), CSampleSoapClientApplication::Init(), and CNcbiApplicationAPI::x_TryInit().

◆ Instance()

CNcbiApplicationAPI * CNcbiApplicationAPI::Instance ( void  )
static

Singleton method.

Track the instance of CNcbiApplicationAPI, and throw an exception if an attempt is made to create another instance of the application.

Returns
Current application instance.
See also
GetInstanceMutex()

Definition at line 127 of file ncbiapp.cpp.

References CNcbiApplicationAPI::m_Instance.

Referenced by BOOST_AUTO_TEST_CASE(), CBlastDBExtractor::CBlastDBExtractor(), CSeqDBAtlas::GenerateSearchPath(), GetDefaultTmsContext(), CNcbiApplication::Instance(), CArgDescriptions::SetUsageContext(), and CRemoteUpdater::xSetFromConfig().

◆ InstanceGuard()

CNcbiApplicationGuard CNcbiApplicationAPI::InstanceGuard ( void  )
static

Singleton method.

Get instance of the application and prevent its destruction until the lock is destroyed.

Returns
Current application instance guard.
See also
CNcbiApplicationGuard

Definition at line 133 of file ncbiapp.cpp.

References CNcbiApplicationAPI::CNcbiApplicationGuard, and CNcbiApplicationAPI::m_Instance.

Referenced by CBDB_Cache_OnAppExit::AddOnExitCallback(), CBDB_Env_OnAppExit::AddOnExitCallback(), CAutoEnvironmentVariable::CAutoEnvironmentVariable(), CConnIniter::CConnIniter(), CGridRPCBaseClient< CAsnBinCompressed >::CGridRPCBaseClient(), CID2SNPProcessor_Impl::CID2SNPProcessor_Impl(), CJaegerTracer::CJaegerTracer(), CEnvironmentCleaner::Clean(), CDBLB_ServiceMapper::ConfigureFromRegistry(), CPluginManager< TClass >::CPluginManager(), CPSGDataLoader_Impl::CPSGDataLoader_Impl(), EnabledDelayBuffers(), CNcbiApplicationAPI::FindProgramExecutablePath(), g_GetConfigDouble(), g_GetConfigFlag(), g_GetConfigInt(), g_GetConfigString(), CNcbiApplicationAPI::GetAppName(), CUsageReportAPI::GetAppName(), CUsageReportAPI::GetAppVersion(), CMetaRegistry::GetDefaultSearchPath(), SNetServiceImpl::Init(), CThreadInPool_ForServer::Main(), CAsyncDiagThread::Main(), SNetScheduleAPIImpl::MakeAuthString(), SNetServiceImpl::MakeAuthString(), CPipeHandle::Open(), CQueryParseTree::Parse(), CGetStatisticsProcessor::Process(), s_CreateISynRegistry(), s_GetAppName(), s_GetConfigString(), s_InitAllKNS(), s_InitProxyConfig(), CDiagContext::SetupDiag(), SNetStorageRPC::SNetStorageRPC(), SUvNgHttp2_UserAgentImpl::SUvNgHttp2_UserAgentImpl(), CParam< TDescription >::sx_GetDefault(), CGBDataLoader_Native::x_CreateDriver(), CRequestContext::x_LoadEnvContextProperties(), and CDiagContext::x_LogEnvironment().

◆ IPhoneHomePolicy()

IPhoneHomePolicy::IPhoneHomePolicy ( )
inline

Constructor.

Definition at line 66 of file phone_home_policy.hpp.

◆ IsDryRun()

bool CNcbiApplicationAPI::IsDryRun ( void  ) const
inline

Check if it is a test run.

Definition at line 824 of file ncbiapp_api.hpp.

References CNcbiApplicationAPI::m_DryRun.

◆ IsEnabled()

virtual bool IPhoneHomePolicy::IsEnabled ( void  ) const
inlinevirtual

Return current policy status (enabbed/disabled).

Definition at line 98 of file phone_home_policy.hpp.

References IPhoneHomePolicy::m_IsEnabled.

Referenced by CSamplePhoneHomePolicy::Apply(), and CSamplePhoneHomePolicy::Restore().

◆ IsNull()

template<class TValue , class TNullToValue = SThrowOnNull<TValue>>
bool CNullable< TValue, TNullToValue >::IsNull ( void  ) const
inline

◆ IsOwned()

template<class X , class Del = Deleter<X>>
bool AutoPtr< X, Del >::IsOwned ( void  ) const
inline

◆ Line()

size_t CNcbiToolkit_LogMessage::Line ( void  ) const

Get line number in which message was originated.

Definition at line 124 of file ncbi_toolkit.cpp.

References SDiagMessage::m_Line, and ncbi::CNcbiToolkit_LogMessage::m_Msg.

◆ LoadConfig() [1/2]

bool CNcbiApplicationAPI::LoadConfig ( CNcbiRegistry reg,
const string conf 
)
protectedvirtual

Load settings from the configuration file to the registry.

CNcbiApplicationAPI::LoadConfig(reg, conf) just calls LoadConfig(reg, conf, IRegistry::fWithNcbirc).

Definition at line 1291 of file ncbiapp.cpp.

References IRegistry::fWithNcbirc, and CNcbiApplicationAPI::LoadConfig().

◆ LoadConfig() [2/2]

bool CNcbiApplicationAPI::LoadConfig ( CNcbiRegistry reg,
const string conf,
CNcbiRegistry::TFlags  reg_flags 
)
protectedvirtual

Load settings from the configuration file to the registry.

This method is called from inside AppMain() to load (add) registry settings from the configuration file specified as the "conf" arg passed to AppMain(). The "conf" argument has the following special meanings:

  • NULL – don't try to load an application-specific registry from any file at all.
  • non-empty – if "conf" contains a path, then try to load from the conf.file of name "conf" (only!). Else - see NOTE. TIP: if the path is not fully qualified then: if it starts from "../" or "./" – look starting from the current working dir.
  • empty – compose conf.file name from the application name plus ".ini". If it does not match an existing file, then try to strip file extensions, e.g. for "my_app.cgi.exe" – try subsequently: "my_app.cgi.exe.ini", "my_app.cgi.ini", "my_app.ini".

Regardless, this method normally loads global settings from .ncbirc or ncbi.ini when reg_flags contains fWithNcbirc (as it typically does), even if conf is NULL.

NOTE: If "conf" arg is empty or non-empty, but without path, then the Toolkit will try to look for it in several potentially relevant directories, as described in <corelib/metareg.hpp>.

Throw an exception if "conf" is non-empty, and cannot open file. Throw an exception if file exists, but contains invalid entries.

Parameters
regThe loaded registry is returned via the reg parameter.
confThe configuration file to loaded the registry entries from.
reg_flagsFlags for loading the registry
Returns
TRUE only if the file was non-NULL, found and successfully read.
See also
CMetaRegistry::GetDefaultSearchPath

Definition at line 1226 of file ncbiapp.cpp.

References CMetaRegistry::SEntry::actual_name, basename, eFollowLinks, eIgnoreLinks, IRegistry::Empty(), CMetaRegistry::eName_AsIs, CMetaRegistry::eName_Ini, CMetaRegistry::eName_RcOrIni, ERR_POST_X, CMetaRegistry::FindRegistry(), CDirEntry::GetName(), CRef< C, Locker >::GetPointer(), CNcbiRegistry::IncludeNcbircIfAllowed(), Info(), CMetaRegistry::Load(), CNcbiApplicationAPI::m_Arguments, CNcbiApplicationAPI::m_Config, CNcbiApplicationAPI::m_ConfigLoaded, CNcbiApplicationAPI::m_ConfigPath, CNcbiApplicationAPI::m_DefaultConfig, NCBI_THROW, IRWRegistry::Read(), CMetaRegistry::SEntry::registry, CRef< C, Locker >::Reset(), CDirEntry::SplitPath(), str(), and IRegistry::Write().

Referenced by CNcbiApplicationAPI::LoadConfig(), CProjBulderApp::ParseArguments(), and CNcbiApplicationAPI::x_TryInit().

◆ make_c_unique() [1/2]

template<class T >
unique_ptr<T, void(*)(void*)> make_c_unique ( T p)

Overload for the above for all types of allocated memory that are to be deallocated by free()

Definition at line 1455 of file ncbimisc.hpp.

References free(), and make_c_unique().

◆ make_c_unique() [2/2]

template<class T , typename TDeleter >
unique_ptr<T, TDeleter> make_c_unique ( T p,
TDeleter  d 
)

Eliminates the necessity for specifying types of both allocated resource and deallocating C function.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 1448 of file ncbimisc.hpp.

Referenced by CServiceDiscovery::DiscoverImpl(), make_c_unique(), NAMEDPIPE_CreateConnector(), NcbiOpenURL(), PIPE_CreateConnector(), and CHttpRequest::sx_Adjust().

◆ Message()

string CNcbiToolkit_LogMessage::Message ( void  ) const

Get text part of the message.

Definition at line 111 of file ncbi_toolkit.cpp.

References kEmptyStr, SDiagMessage::m_Buffer, SDiagMessage::m_BufferLen, ncbi::CNcbiToolkit_LogMessage::m_Msg, and string.

◆ NCBI_EXCEPTION_DEFAULT()

CAppException::NCBI_EXCEPTION_DEFAULT ( CAppException  ,
CCoreException   
)

◆ NcbiToolkit_Fini()

void ncbi::NcbiToolkit_Fini ( void  )

Release resources allocated for NCBI C++ Toolkit.

See also
NcbiToolkit_Init

◆ NcbiToolkit_Init()

void ncbi::NcbiToolkit_Init ( int  argc,
const TNcbiToolkit_XChar *const argv,
const TNcbiToolkit_XChar *const envp = NULL,
INcbiToolkit_LogHandler log_handler = NULL 
)

Initialialize NCBI C++ Toolkit internal infrastructure: arguments, environment, diagnostics, logging.

Note
This function may be called only once – and, before calling any other C++ Toolkit function.
Parameters
argcArgument count [argc in a regular main(argc, argv)].
argvArgument vector [argv in a regular main(argc, argv)].
envpEnvironment pointer [envp in a regular main(argc, argv, envp)]; a null pointer (the default) corresponds to the standard system array (environ on most Unix platforms).
log_handlerHandler for diagnostic messages that are emitted by the C++ Toolkit code
See also
INcbiToolkit_LogHandler, NcbiToolkit_Fini

◆ NcbiToolkit_RegisterNcbiApplicationFactory()

void ncbi::NcbiToolkit_RegisterNcbiApplicationFactory ( FNcbiApplicationFactory  f)

◆ operator bool() [1/2]

template<class TEnum >
CBoolEnum< TEnum >::operator bool ( void  ) const
inline

Operator bool.

Definition at line 317 of file ncbimisc.hpp.

References CBoolEnum< TEnum >::m_Value.

◆ operator bool() [2/2]

CNcbiApplicationGuard::operator bool ( void  ) const
inline

Definition at line 114 of file ncbiapp_api.hpp.

References CNcbiApplicationGuard::m_App.

◆ operator int()

template<class TEnum >
CBoolEnum< TEnum >::operator int ( ) const
private

◆ operator std::string()

ncbi::CNcbiToolkit_LogMessage::operator std::string ( void  ) const

Get the message the way it is formatted by the Toolkit.

◆ operator TBoolType() [1/3]

template<class X , class Del = Deleter<X>>
AutoPtr< X, Del >::operator TBoolType ( ) const
inline

Definition at line 458 of file ncbimisc.hpp.

◆ operator TBoolType() [2/3]

template<class X , class Del = ArrayDeleter<X>>
AutoArray< X, Del >::operator TBoolType ( ) const
inline

Definition at line 578 of file ncbimisc.hpp.

◆ operator TBoolType() [3/3]

template<class Enum >
CSafeFlags< Enum >::operator TBoolType ( ) const
inline

Definition at line 1274 of file ncbimisc.hpp.

◆ operator TEnum()

template<class TEnum >
CBoolEnum< TEnum >::operator TEnum ( ) const
inline

Operator enum.

Definition at line 319 of file ncbimisc.hpp.

References CBoolEnum< TEnum >::m_Value.

◆ operator TValue()

template<class TValue , class TNullToValue = SThrowOnNull<TValue>>
CNullable< TValue, TNullToValue >::operator TValue ( void  ) const
inline

Get nullable value.

If NULL, then call TNullToValue and use the value return by the latter.

Attention
The default implementation of TNullToValue (g_ThrowOnNull) throws an exception!

Definition at line 695 of file ncbimisc.hpp.

◆ operator unsigned int()

template<class TEnum >
CBoolEnum< TEnum >::operator unsigned int ( ) const
private

◆ operator!()

bool CNcbiApplicationGuard::operator! ( void  ) const
inline

Definition at line 115 of file ncbiapp_api.hpp.

References CNcbiApplicationGuard::m_App.

◆ operator!=() [1/7]

template<class TValue , class TNullToValue = SThrowOnNull<TValue>>
bool operator!= ( const CNullable< TValue, TNullToValue > &  l,
const CNullable< TValue, TNullToValue > &  r 
)

Definition at line 747 of file ncbimisc.hpp.

References operator==(), and r().

◆ operator!=() [2/7]

template<class Enum >
bool CSafeFlags< Enum >::operator!= ( const CSafeFlags< Enum > &  b) const
inline

Definition at line 1280 of file ncbimisc.hpp.

References b, and CSafeFlags< Enum >::get().

◆ operator!=() [3/7]

template<class TKey , class TStorage >
bool CStrictId< TKey, TStorage >::operator!= ( const TThis id) const
inline

◆ operator!=() [4/7]

template<class Enum >
bool CSafeFlags< Enum >::operator!= ( int  v) const
inline

Definition at line 1289 of file ncbimisc.hpp.

References CSafeFlags< Enum >::get().

◆ operator!=() [5/7]

template<class X , class Del = Deleter<X>>
bool AutoPtr< X, Del >::operator!= ( TBoolType  ) const
private

◆ operator!=() [6/7]

template<class X , class Del = ArrayDeleter<X>>
bool AutoArray< X, Del >::operator!= ( TBoolType  ) const
private

◆ operator!=() [7/7]

template<class Enum >
bool CSafeFlags< Enum >::operator!= ( TBoolType  ) const
private

◆ operator&() [1/2]

template<class Enum >
CSafeFlags CSafeFlags< Enum >::operator& ( const CSafeFlags< Enum > &  b) const
inline

◆ operator&() [2/2]

template<class E >
CSafeFlags<E> operator& ( E  a,
CSafeFlags< E b 
)
inline
Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 1363 of file ncbimisc.hpp.

References a, and b.

◆ operator&=()

template<class Enum >
CSafeFlags& CSafeFlags< Enum >::operator&= ( const CSafeFlags< Enum > &  b)
inline

◆ operator()() [1/2]

template<class TKey , class TStorage >
size_t hash< ncbi::CStrictId< TKey, TStorage > >::operator() ( const ncbi::CStrictId< TKey, TStorage > &  x) const
inline

Definition at line 1540 of file ncbimisc.hpp.

◆ operator()() [2/2]

template<class TValue >
TValue SThrowOnNull< TValue >::operator() ( void  ) const
inline

◆ operator*() [1/4]

CNcbiApplicationAPI& CNcbiApplicationGuard::operator* ( void  )
inline

Definition at line 113 of file ncbiapp_api.hpp.

References CNcbiApplicationGuard::Get().

◆ operator*() [2/4]

template<size_t KEmbeddedSize, class TType = char>
TType& CFastBuffer< KEmbeddedSize, TType >::operator* ( void  )
inline

◆ operator*() [3/4]

template<class X , class Del = Deleter<X>>
element_type& AutoPtr< X, Del >::operator* ( void  ) const
inline

Dereference operator.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 463 of file ncbimisc.hpp.

◆ operator*() [4/4]

template<size_t KEmbeddedSize, class TType = char>
const TType& CFastBuffer< KEmbeddedSize, TType >::operator* ( void  ) const
inline

Definition at line 1177 of file ncbimisc.hpp.

References CFastBuffer< KEmbeddedSize, TType >::m_Buffer.

◆ operator+() [1/3]

template<class TKey , class TStorage >
TThis CStrictId< TKey, TStorage >::operator+ ( const TThis id) const
inline

◆ operator+() [2/3]

template<size_t KEmbeddedSize, class TType = char>
TType* CFastBuffer< KEmbeddedSize, TType >::operator+ ( size_t  offset)
inline

◆ operator+() [3/3]

template<size_t KEmbeddedSize, class TType = char>
const TType* CFastBuffer< KEmbeddedSize, TType >::operator+ ( size_t  offset) const
inline

Definition at line 1180 of file ncbimisc.hpp.

References CFastBuffer< KEmbeddedSize, TType >::m_Buffer, and offset.

◆ operator++() [1/2]

template<class TKey , class TStorage >
TThis CStrictId< TKey, TStorage >::operator++ ( int  )
inline

Definition at line 910 of file ncbimisc.hpp.

◆ operator++() [2/2]

template<class TKey , class TStorage >
TThis& CStrictId< TKey, TStorage >::operator++ ( void  )
inline

◆ operator-() [1/2]

template<class TKey , class TStorage >
TThis CStrictId< TKey, TStorage >::operator- ( const TThis id) const
inline

Definition at line 915 of file ncbimisc.hpp.

◆ operator-() [2/2]

template<class TKey , class TStorage >
TThis CStrictId< TKey, TStorage >::operator- ( void  ) const
inline

◆ operator--() [1/2]

template<class TKey , class TStorage >
TThis CStrictId< TKey, TStorage >::operator-- ( int  )
inline

Definition at line 912 of file ncbimisc.hpp.

◆ operator--() [2/2]

template<class TKey , class TStorage >
TThis& CStrictId< TKey, TStorage >::operator-- ( void  )
inline

◆ operator->() [1/2]

CNcbiApplicationAPI* CNcbiApplicationGuard::operator-> ( void  )
inline

Definition at line 112 of file ncbiapp_api.hpp.

References CNcbiApplicationGuard::Get().

◆ operator->() [2/2]

template<class X , class Del = Deleter<X>>
element_type* AutoPtr< X, Del >::operator-> ( void  ) const
inline

Reference operator.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 466 of file ncbimisc.hpp.

◆ operator<()

template<class TKey , class TStorage >
bool CStrictId< TKey, TStorage >::operator< ( const TThis id) const
inline

◆ operator<<() [1/2]

template<class TKey , class TStorage >
CNcbiOstream& operator<< ( CNcbiOstream out,
const CStrictId< TKey, TStorage > &  id 
)
inline

Definition at line 946 of file ncbimisc.hpp.

References out().

◆ operator<<() [2/2]

template<class E >
ostream& operator<< ( ostream &  out,
const CSafeFlags< E > &  v 
)
inline

Definition at line 1372 of file ncbimisc.hpp.

References CSafeFlags< Enum >::get(), and out().

◆ operator<=()

template<class TKey , class TStorage >
bool CStrictId< TKey, TStorage >::operator<= ( const TThis id) const
inline

◆ operator=() [1/10]

template<class X , class Del = ArrayDeleter<X>>
AutoArray<X, Del>& AutoArray< X, Del >::operator= ( const AutoArray< X, Del > &  p)
inline

Assignment operator.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 560 of file ncbimisc.hpp.

◆ operator=() [2/10]

template<class X , class Del = Deleter<X>>
AutoPtr<X, Del>& AutoPtr< X, Del >::operator= ( const AutoPtr< X, Del > &  p)
inline

Assignment operator.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 440 of file ncbimisc.hpp.

◆ operator=() [3/10]

CAction_Base& CNcbiActionGuard::CAction_Base::operator= ( const CAction_Base )
private

◆ operator=() [4/10]

CNcbiActionGuard& CNcbiActionGuard::operator= ( const CNcbiActionGuard )
private

◆ operator=() [5/10]

CNcbiToolkit_LogMessage& ncbi::CNcbiToolkit_LogMessage::operator= ( const CNcbiToolkit_LogMessage )
private

◆ operator=() [6/10]

template<class TKey , class TStorage >
TThis& CStrictId< TKey, TStorage >::operator= ( const TThis other)
inline

◆ operator=() [7/10]

template<class X , class Del = Deleter<X>>
AutoPtr<X, Del>& AutoPtr< X, Del >::operator= ( element_type p)
inline

Assignment operator.

Definition at line 451 of file ncbimisc.hpp.

◆ operator=() [8/10]

template<class X , class Del = ArrayDeleter<X>>
AutoArray<X, Del>& AutoArray< X, Del >::operator= ( element_type p)
inline

Assignment operator.

Definition at line 571 of file ncbimisc.hpp.

◆ operator=() [9/10]

template<class TValue , class TNullToValue = SThrowOnNull<TValue>>
CNullable& CNullable< TValue, TNullToValue >::operator= ( ENull  )
inline

Reset nullable to unassigned state.

Definition at line 729 of file ncbimisc.hpp.

◆ operator=() [10/10]

template<class TValue , class TNullToValue = SThrowOnNull<TValue>>
CNullable& CNullable< TValue, TNullToValue >::operator= ( TValue  value)
inline

Assign a value to the nullable.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 722 of file ncbimisc.hpp.

◆ operator==() [1/7]

template<class TValue , class TNullToValue = SThrowOnNull<TValue>>
bool operator== ( const CNullable< TValue, TNullToValue > &  l,
const CNullable< TValue, TNullToValue > &  r 
)

◆ operator==() [2/7]

template<class Enum >
bool CSafeFlags< Enum >::operator== ( const CSafeFlags< Enum > &  b) const
inline

Definition at line 1276 of file ncbimisc.hpp.

References b, and CSafeFlags< Enum >::get().

◆ operator==() [3/7]

template<class TKey , class TStorage >
bool CStrictId< TKey, TStorage >::operator== ( const TThis id) const
inline

◆ operator==() [4/7]

template<class Enum >
bool CSafeFlags< Enum >::operator== ( int  v) const
inline

Definition at line 1285 of file ncbimisc.hpp.

References CSafeFlags< Enum >::get().

◆ operator==() [5/7]

template<class X , class Del = Deleter<X>>
bool AutoPtr< X, Del >::operator== ( TBoolType  ) const
private

◆ operator==() [6/7]

template<class X , class Del = ArrayDeleter<X>>
bool AutoArray< X, Del >::operator== ( TBoolType  ) const
private

◆ operator==() [7/7]

template<class Enum >
bool CSafeFlags< Enum >::operator== ( TBoolType  ) const
private

◆ operator>()

template<class TKey , class TStorage >
bool CStrictId< TKey, TStorage >::operator> ( const TThis id) const
inline

◆ operator>=()

template<class TKey , class TStorage >
bool CStrictId< TKey, TStorage >::operator>= ( const TThis id) const
inline

◆ operator>>()

template<class TKey , class TStorage >
CNcbiIstream& operator>> ( CNcbiIstream in,
CStrictId< TKey, TStorage > &  id 
)
inline

Definition at line 953 of file ncbimisc.hpp.

References in().

◆ operator[]() [1/3]

template<class X , class Del = ArrayDeleter<X>>
element_type& AutoArray< X, Del >::operator[] ( size_t  pos)
inline

Array style dereference (returns reference)

Definition at line 594 of file ncbimisc.hpp.

◆ operator[]() [2/3]

template<class X , class Del = ArrayDeleter<X>>
const element_type& AutoArray< X, Del >::operator[] ( size_t  pos) const
inline

Array style dereference (returns value)

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 591 of file ncbimisc.hpp.

◆ operator[]() [3/3]

template<size_t KEmbeddedSize, class TType = char>
TType CFastBuffer< KEmbeddedSize, TType >::operator[] ( size_t  pos) const
inline

◆ operator^() [1/2]

template<class Enum >
CSafeFlags CSafeFlags< Enum >::operator^ ( const CSafeFlags< Enum > &  b) const
inline

◆ operator^() [2/2]

template<class E >
CSafeFlags<E> operator^ ( E  a,
CSafeFlags< E b 
)
inline
Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 1367 of file ncbimisc.hpp.

References a, and b.

◆ operator^=()

template<class Enum >
CSafeFlags& CSafeFlags< Enum >::operator^= ( const CSafeFlags< Enum > &  b)
inline

◆ operator|() [1/2]

template<class Enum >
CSafeFlags CSafeFlags< Enum >::operator| ( const CSafeFlags< Enum > &  b) const
inline

◆ operator|() [2/2]

template<class E >
CSafeFlags<E> operator| ( E  a,
CSafeFlags< E b 
)
inline

Helper operators for safe-flags enums.

These operators will be used only for enums marked as safe-flag enums by macro DECLARE_SAFE_FLAGS()

Definition at line 1359 of file ncbimisc.hpp.

References a, and b.

◆ operator|=()

template<class Enum >
CSafeFlags& CSafeFlags< Enum >::operator|= ( const CSafeFlags< Enum > &  b)
inline

◆ operator~()

template<class Enum >
CSafeFlags CSafeFlags< Enum >::operator~ ( ) const
inline

◆ pair_base_member() [1/3]

template<class Base , class Member >
pair_base_member< Base, Member >::pair_base_member ( const first_type first_value,
const second_type second_value 
)
inlineexplicit

Definition at line 263 of file ncbimisc.hpp.

◆ pair_base_member() [2/3]

template<class Base , class Member >
pair_base_member< Base, Member >::pair_base_member ( const member_type member_value)
inlineexplicit

Definition at line 258 of file ncbimisc.hpp.

◆ pair_base_member() [3/3]

template<class Base , class Member >
pair_base_member< Base, Member >::pair_base_member ( void  )
inline

◆ Post()

virtual void ncbi::INcbiToolkit_LogHandler::Post ( const CNcbiToolkit_LogMessage msg)
pure virtual

◆ PreparseArgs()

CNcbiApplicationAPI::EPreparseArgs CNcbiApplicationAPI::PreparseArgs ( int  argc,
const char *const argv 
)
protectedvirtual

Check the command line arguments before parsing them.

See also
EPreparseArgs

Reimplemented in CNetStorageDApp, and CCgiApplication.

Definition at line 1299 of file ncbiapp.cpp.

References CNcbiApplicationAPI::ePreparse_Continue.

Referenced by CNcbiApplicationAPI::AppMain(), and CNetStorageDApp::PreparseArgs().

◆ Print()

virtual void IPhoneHomePolicy::Print ( )
pure virtual

Print a message about collecting data, disablig tracking and privacy policies.

Implemented in CSamplePhoneHomePolicy.

◆ release() [1/2]

template<class X , class Del = Deleter<X>>
element_type* AutoPtr< X, Del >::release ( void  )
inline

Release will release ownership of pointer to caller.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 472 of file ncbimisc.hpp.

Referenced by AascanTestFixture::AascanTestFixture(), CBAMDataLoader_Impl::AddSrzDef(), DTDParser::AttribBlock(), BOOST_AUTO_TEST_CASE(), CSeqTable_multi_data::ChangeToBit_bvector(), CSeqTable_sparse_index::ChangeToBit_set_bvector(), DTDParser::CompositeNode(), CompressedAascanTestFixture::CompressedAascanTestFixture(), CObjectIStream::Create(), CObjectIStream::CreateFromBuffer(), ASNParser::EnumeratedBlock(), CDataType::GenerateCode(), CChoiceDataType::GenerateCode(), CBitStringDataType::GetFullCType(), CIdlerWrapper::GetIdler(), CTL_RowResult::GetItemInternal(), CDataType::GetRefCType(), CSeqFeatData::GetRegulatoryClass(), CompressedAalookupTestFixture::GetSeqBlk(), AalookupTestFixture::GetSeqBlk(), GetSequenceProtein(), GetSequenceSingleNucleotideStrand(), CId2FetchApp::Init(), CNcbiTestApplication::Init(), CWig2tableApplication::MakeTable(), DTDParser::NillableBlock(), AutoPtr< CNcbistrstream_Base >::reset(), NtlookupTestFixture::SetUpQuery(), TestFixture::SetUpQuery(), NuclWordFinderTextFixture::setupSequences(), TestFixture::SetUpSubject(), SetupSubjects_OMF(), ASNParser::TypesBlock(), DTDParser::TypesBlock(), CPSGS_OSGProcessorBase::x_BGProcTokenToVoidP(), CBVector_data::x_CreateBitVector(), CHistogramBinning::x_IdentifyClusters(), CPssmEngine::x_InitializeScoreBlock(), CPkgManager::x_LoadPackage(), CDiagSyntaxParser::x_PutIntoFilter(), CPubseqReader::x_ReceiveData(), AutoPtr< CNcbistrstream_Base >::x_Release(), CPubseq2Reader::x_SendPacket(), CId2FetchApp::x_SendRequestPacket(), CHistogramBinning::x_TryForEvenBins(), and DTDParser::x_Type().

◆ release() [2/2]

template<class X , class Del = ArrayDeleter<X>>
element_type* AutoArray< X, Del >::release ( void  )
inline

Release will release ownership of pointer to caller.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 584 of file ncbimisc.hpp.

Referenced by CCompressionStreambuf::CCompressionStreambuf(), AutoArray< CS_INT >::reset(), and AutoArray< CS_INT >::x_Release().

◆ ReloadConfig()

bool CNcbiApplicationAPI::ReloadConfig ( CMetaRegistry::TFlags  flags = CMetaRegistry::fReloadIfChanged,
IRegistry::TFlags  reg_flags = IRegistry::fWithNcbirc 
)
inline

Reload the configuration file.

By default, does nothing if the file has the same size and date as before.

Note that this may lose other data stored in the registry!

Parameters
flagsControls how aggressively to reload.
reg_flagsFlags to use when parsing the registry; ignored if the registry was already cached (as it should normally have been).
Returns
TRUE if a reload actually occurred.

Definition at line 801 of file ncbiapp_api.hpp.

References flags, CNcbiApplicationAPI::GetConfigPath(), CNcbiApplicationAPI::GetRWConfig(), and CMetaRegistry::Reload().

Referenced by BOOST_AUTO_TEST_CASE(), CAutoNcbiConfigFile::CAutoNcbiConfigFile(), CNetStorageHandler::x_ProcessReconfigure(), CNetScheduleHandler::x_ProcessReloadConfig(), and CAutoNcbiConfigFile::~CAutoNcbiConfigFile().

◆ reset() [1/2]

template<class X , class Del = ArrayDeleter<X>>
void AutoArray< X, Del >::reset ( element_type p = 0)
inline

◆ reset() [2/2]

template<class X , class Del = Deleter<X>>
void AutoPtr< X, Del >::reset ( element_type p = 0,
EOwnership  ownership = eTakeOwnership 
)
inline

Reset will delete the old pointer (if owned), set content to the new value, and assume the ownership upon the new pointer by default.

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 480 of file ncbimisc.hpp.

Referenced by CSeqMaskerUsetHash::add_ht_info(), CSeqMaskerUsetHash::add_vt_info(), CBamUIDataSource::AddDataLoader(), CBAMDataLoader_Impl::AddSrzDef(), CAgpErrEx::CAgpErrEx(), CAutoEnvironmentVariable::CAutoEnvironmentVariable(), CBAMDataLoader_Impl::CBAMDataLoader_Impl(), CConnTest::CheckFWConnections(), CAsnSizer::CloseDataStream(), CSplitDataMaker::CloseDataStream(), CPagedFile::CPagedFile(), CProjectStorage::CProjectStorage(), CPtbRegistry::CPtbRegistry(), CTeeDiagHandler::CTeeDiagHandler(), CSeqMaskerOstatOpt::doFinalize(), CGffObjectLoader::Execute(), CConnTest::ExtraCheckOnFailure(), CDataType::GetAnyTypeInfo(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::GetDb(), CValidator::CCacheImpl::GetFeatStrKeyToFeats(), CIdlerWrapper::GetIdler(), CTL_RowResult::GetItemInternal(), CDataTypeModule::GetNamespace(), CDataType::GetRealTypeInfo(), GetSequenceProtein(), GetSequenceSingleNucleotideStrand(), CBDB_BlobSplitStore< TBV, TObjDeMux, TL >::InitDbMutex(), CAlnVecRow::LoadDefaultTracks(), CGen_code_table::LoadTransTable(), CPipeHandle::Open(), CAsnSizer::OpenDataStream(), CSplitDataMaker::OpenDataStream(), CMSHit::operator=(), AutoPtr< CNcbistrstream_Base >::operator=(), CSeqVector::operator=(), SAnnotSelector::operator=(), CMSHit::RecordMatches(), CNcbiApplogApp::Redirect(), CBVector_data::Reset(), CBVector_data::ResetBitVector(), SAnnotSelector::ResetSourceLoc(), CGapStatsApplication::Run(), CWig2tableApplication::Run(), CSearch< LEGACY, NHITS >::Search(), CSQLITE_Blob::SetAppendStatement(), CBVector_data::SetBitVector(), CBDB_RawFile::SetCompressor(), CStringPairs< TExtraValuesMap >::SetDecoder(), CStringPairs< TExtraValuesMap >::SetEncoder(), CIdlerWrapper::SetIdler(), CBamDb::SetIdMapper(), CLoadLockSetter::SetLoaded(), CMergeVolumes::SetMergeAccumulator(), CMergeVolumes::SetMergeStore(), CMSPeakList::SetMZI(), CMessageListenerBase::SetProgressOstream(), CDisplaySeqalign::SetSequencePropertyLabel(), SAnnotSelector::SetSourceLoc(), CSplitCacheApp::SetupCache(), CFastaOstream::SetWidth(), CAlignCompare::SAlignment::Slice(), CSplitCacheApp::TestSplit(), CSDBAPI::UpdateMirror(), CSQLITE_Blob::Write(), x_AdjustAnchorDirection(), CBVector_data::x_CreateBitVector(), CSGAlignmentJob::x_CreateFeatGlyph(), CSeqVector::x_CreateIterator(), CAlnVecRow::x_CreateTrackPanel(), CId1Reader::x_DisconnectAtSlot(), CId2Reader::x_DisconnectAtSlot(), CPubseqReader::x_DisconnectAtSlot(), CPubseq2Reader::x_DisconnectAtSlot(), CArchive::x_ExtractEntry(), CPsiBlastInputClustalW::x_ExtractQueryFromMsa(), CPubseq2Reader::x_GetConnection(), CLDS2_Database::x_GetStatement(), CLoadLockSetter::x_Init(), CId2FetchApp::x_InitConnection(), CGen_code_table::x_InitImplementation(), CBlastFastaInputSource::x_InitInputReader(), CId2FetchApp::x_InitPubSeqConnection(), CFileLoader::x_LoadGff(), CHTMLPage::x_LoadTemplateLib(), CRegexpTemplateTester::x_Op_Skip(), CPdfObject::x_PrintTo(), CId2FetchApp::x_ProcessData(), CTar::x_ProcessEntry(), CXcompareAnnotsApplication::x_ProcessSeqAlignSetFromFile(), CPubseqReader::x_ReceiveData(), CSeqVector::x_ResetIterator(), CAlnVecRow::x_ResetTrackPanel(), CDBLBClientApp::x_RunWhatIs(), CId2FetchApp::x_SendRequestPacket(), and AutoPtr< CNcbistrstream_Base >::~AutoPtr().

◆ Restore()

virtual void IPhoneHomePolicy::Restore ( )
pure virtual

Restore policy configuration.

Implemented in CSamplePhoneHomePolicy.

◆ Run()

virtual int CNcbiApplicationAPI::Run ( void  )
pure virtual

Run the application.

It is defined as a pure virtual method – so you must(!) supply the Run() method to implement the application-specific logic.

Returns
Exit code.

Implemented in CSubImageApp, CImageDemoApp, CConvImageApp, CCacheDemoApp, CBam2GraphApp, CDataTool, CSampleLibtestApplication, CSampleSoapClientApplication, CSeqAnnotSplicerApp, CProcessHighestSeObjs, CBssInfoApp, CDemoApp, CDemoApp, CDemoApp, CSdbapiSimpleApp, CSampleObjmgrApplication, CFeatTreeSampleApp, CEditBioseqSampleApp, CSampleObjectsApplication, CRemoteAppClientSampleApp, CSampleNetScheduleNode, CSampleNetScheduleClient, CGridClientSampleApp, CSampleNetCacheClient, CMultiCommandApplication, CSampleLds2Application, CHttpSessionApp, CEUtilsApp, CDbCopyApp, CDbapiSimpleApp, VSRunSampleApplication, CBlastDemoApplication, CBlastSampleApplication, CBlastDemoApplication, CSampleBasicApplication, CSampleAsnApplication, CSampleAlnmgrApplication, CFetchGBProjectApp, CAce2AsnApp, CProcessFilesApp, CReadFilesApp, ASNIOTestApp, CAlnVwrApp, CAlnMrgApp, CAlnTestApp, CAlnBuildApp, CClientGenomicCollectionsSvcApplication, CEntrez2ClientApp, CDemoApplication, CColumnarVCFReaderApp, CMakeScoreMethodApp, CTestDispatchApp, CAppJobTestApplication, CTestBMApp, CObjConvProfile, CTestApplication, COdbcSpwhoDemoApp, COcbdDemoApp, CMysqlDemoApp, CRunTestApplication, CRunTestApplication, CBDB_MergeTest, CBDB_SplitTest, CBDB_FileDumperApp, CBDB_BLobDemo1, CBDB_PhoneBookDemo3, CBDB_PhoneBookDemo2, CBDB_PhoneBookDemo1, CBDB_CacheVerifyApp, CNcbiTestApplication, CNcbiToolkitImpl_Application, CPsgPerfApplication, CProjBulderApp, CWinMaskApplication, CWig2tableApplication, subfuse::CSubfuseApp, CStreamTestApp, CSplitCacheApp, CMytestApplication, SegMaskerApplication, CReadBlastApp, CDemoApp, CDemoApp, CObjExtractApp, CNmer_repeatsApplication, CNetStorageGCApp, CNetStorageDApp, CNetScheduleDApp, CNcbiEncryptApp, CMultipatternApp, CIdfetchApplication, CId2FetchApp, CId1FetchApp, CId1FetchApp, CHgvsToSeqfeatConverter, CGi2TaxIdApp, CGffDeconcatApp, CGapStatsApplication, CFormatGuessApp, CFeatImportApp, CDustMaskApplication, CDBLBClientApp, CConversionApp, CCompartApplication, Cn3DNoWin, CBsDiffApp, CVDBTblastnApp, CVDBBlastnApp, CGuideTreeApplication, CConvert2BlastMaskApplication, BlastdbCopyApplication, CBlastDbCheckApplication, CBiosampleChkApp, CBDBEnvKeeperApp, CWalkAsnCacheApplication, CAsnSubCacheCreateApplication, CReadIndexSpeedApp, CPrimeCacheApplication, CAsnCacheDumpSeqIdsApplication, CConcatSeqEntriesApplication, CCacheIndexCopyApp, CAsnCacheTestApplication, CTest, CAsn2Asn, CAgpconvertApplication, CAgpValidateApplication, CWinMaskDemoApplication, CXcompareAnnotsApplication, CRegexpLocApp, CGeneModelDemoApp, CCpGDemoApp, CAdapterSearchApplication, COmssa2pepxmlApplication, CLocalFinderApp, CMultiApplication, CMultiApplication, CClustererApplication, CBlastKmerBuildIndexApplication, CBlastKmerApplication, CCkblastindexApplication, CGumbelParamsApplication, CBlastInputDemoApplication, CDemoScoreBuilderApp, CTestCompartApplication, CAlignCleanupApplication, CAVApp, CRemoteCgiApp, CNCBIwxApplication, CThreadedApp, CGridWorkerApp, CCgiApplication, COMSSABase, CTestRemoteUpdaterApplication, CPubmedFetchApplication, CPubmedFetchApplication, CTbl2AsnApp, pub_report::CPubReportApp, CPrt2FsmApp, CMultiReaderApp, CDiscRepApp, CAsnvalApp, CCleanupApp, CAsn2FlatApp, CAsn2FastaApp, CAnnotWriterApp, CSdbapiTest, CDbapiTest, CUsageReportPhoneHomeSampleApp, CUsageReportSampleApp, CAnalyzeShiftApp, CHugeFileDemoApp, CTax4BlastDemo, CNcbiApplogApp, CGBProjectTool, CTestGuiRegistryApp, CDbapiSampleApp, CDbapiDriverSampleApp, CVecScreenApp, seqsubmit_split::CSeqSubSplitter, CSrcChkApp, CSplignApp, CRMBlastnApp, CPsgClientApp, CAppNWA, CMagicBlastApp, CIgBlastpApp, CIgBlastnApp, CIdMapperApp, CAppHitFilter, CComponentIDToolApp, CGridCommandLineInterfaceApp, CExonSelectorApplication, CCompactSAMApplication, CCompartApp, CBlastVdbCmdApp, CBlastFormatterVdbApp, CMakeProfileDBApp, CMakeClusterDBApp, CMakeBlastDBApp, CBlastDBCmdApp, CBlastDBCmdApp, CBlastdbConvertApp, CBlastDBAliasApp, CTblastxApp, CTblastnApp, CSeedTopApp, CRPSTBlastnApp, CRPSBlastApp, CPsiBlastApp, CDeltaBlastApp, CBlastxApp, CBlastpApp, CBlastnApp, CBlastFormatterApp, CDemoSeqQaApp, COMSSAMerge, COMSSA, CReadresult, CSRSearchApplication, CMkIndexApplication, CProSplignApp, CNgAlignApp, CMergeyApp, and CDemoContigAssemblyApp.

Referenced by CNcbiApplicationAPI::x_TryMain().

◆ RunIdler()

void RunIdler ( void  )

Execute currently installed idler if any.

Definition at line 1851 of file ncbiapp.cpp.

References s_IdlerWrapper.

Referenced by CFastCgiApplicationMT::x_ProcessThreadedRequest().

◆ s_ITERATE_ConstRef()

template<typename Type >
const Type& s_ITERATE_ConstRef ( const Type obj)
inline

◆ s_ITERATE_SameObject()

template<typename Type >
bool s_ITERATE_SameObject ( const Type obj1,
const Type obj2 
)
inline

◆ SafeBoolTrue() [1/3]

template<class X , class Del = Deleter<X>>
void AutoPtr< X, Del >::SSafeBoolTag::SafeBoolTrue ( SSafeBoolTag )
inline

Definition at line 458 of file ncbimisc.hpp.

◆ SafeBoolTrue() [2/3]

template<class X , class Del = ArrayDeleter<X>>
void AutoArray< X, Del >::SSafeBoolTag::SafeBoolTrue ( SSafeBoolTag )
inline

Definition at line 578 of file ncbimisc.hpp.

◆ SafeBoolTrue() [3/3]

template<class Enum >
void CSafeFlags< Enum >::SSafeBoolTag::SafeBoolTrue ( SSafeBoolTag )
inline

Definition at line 1274 of file ncbimisc.hpp.

◆ Save()

virtual void IPhoneHomePolicy::Save ( )
pure virtual

Save policy configuration.

Implemented in CSamplePhoneHomePolicy.

◆ second() [1/2]

template<class Base , class Member >
second_type& pair_base_member< Base, Member >::second ( )
inline

Definition at line 282 of file ncbimisc.hpp.

◆ second() [2/2]

template<class Base , class Member >
const second_type& pair_base_member< Base, Member >::second ( ) const
inline
Examples
/home/coremake/doxygen/cxx/include/corelib/ncbimisc.hpp.

Definition at line 278 of file ncbimisc.hpp.

Referenced by CConstRef< CSeq_loc >::AtomicResetFrom(), CRef< CAlnMixSegment >::AtomicResetFrom(), CRef< CAlnMixSegment >::AtomicSwap(), CConstRef< CSeq_loc >::AtomicSwap(), CStaticArraySearchBase< NStaticArray::PKeyValuePair< SStaticPair< KeyType, ValueType > >, less< KeyType > >::begin(), CRef< CAlnMixSegment >::Empty(), CConstRef< CSeq_loc >::Empty(), CRef< CAlnMixSegment >::GetNCPointerOrNull(), CRef< CAlnMixSegment >::GetNonNullNCPointer(), CRef< CAlnMixSegment >::GetNonNullPointer(), CConstRef< CSeq_loc >::GetNonNullPointer(), CConstRef< CSeq_loc >::GetPointerOrNull(), CRef< CAlnMixSegment >::GetPointerOrNull(), CGuard< IRegistry, SSimpleReadLock< IRegistry > >::GetResource(), CGuard< IRegistry, SSimpleReadLock< IRegistry > >::GetUnlock(), CBlobIdFor< Value, Converter >::GetValue(), CRef< CAlnMixSegment >::IsNull(), CConstRef< CSeq_loc >::IsNull(), AutoPtr< CNcbistrstream_Base >::IsOwned(), CRef< CAlnMixSegment >::NotEmpty(), CConstRef< CSeq_loc >::NotEmpty(), CRef< CAlnMixSegment >::NotNull(), CConstRef< CSeq_loc >::NotNull(), CRef< CAlnMixSegment >::operator!(), CConstRef< CSeq_loc >::operator!(), AutoArray< CS_INT >::operator=(), AutoPtr< CNcbistrstream_Base >::operator=(), CRef< CAlnMixSegment >::operator=(), CConstRef< CSeq_loc >::operator=(), AutoPtr< CNcbistrstream_Base >::release(), AutoArray< CS_INT >::release(), CRef< CAlnMixSegment >::Release(), CConstRef< CSeq_loc >::Release(), CRef< CAlnMixSegment >::ReleaseOrNull(), CConstRef< CSeq_loc >::ReleaseOrNull(), AutoArray< CS_INT >::reset(), AutoPtr< CNcbistrstream_Base >::reset(), CRef< CAlnMixSegment >::Reset(), CConstRef< CSeq_loc >::Reset(), pair_base_member< TKeyGetter, CTreeNode * >::Swap(), CRef< CAlnMixSegment >::Swap(), CConstRef< CSeq_loc >::Swap(), CBlobIdFor< Value, Converter >::ToString(), CRef< CAlnMixSegment >::x_AssignFromRef(), CConstRef< CSeq_loc >::x_AssignFromRef(), CRef< CAlnMixSegment >::x_LockFromMoveConstructor(), CConstRef< CSeq_loc >::x_LockFromMoveConstructor(), CRef< CAlnMixSegment >::x_LockFromPtr(), CConstRef< CSeq_loc >::x_LockFromPtr(), CRef< CAlnMixSegment >::x_LockFromRef(), CConstRef< CSeq_loc >::x_LockFromRef(), CRef< CAlnMixSegment >::x_MoveAssign(), CConstRef< CSeq_loc >::x_MoveAssign(), CStaticArraySearchBase< NStaticArray::PKeyValuePair< SStaticPair< KeyType, ValueType > >, less< KeyType > >::x_Set(), and CStaticArraySearchBase< NStaticArray::PKeyValuePair< SStaticPair< KeyType, ValueType > >, less< KeyType > >::~CStaticArraySearchBase().

◆ Set() [1/2]

template<class TKey , class TStorage >
void CStrictId< TKey, TStorage >::Set ( TId  id)
inline

Definition at line 922 of file ncbimisc.hpp.

Referenced by CObjectIStream::ReadGi().

◆ Set() [2/2]

template<class TKey , class TStorage >
TId& CStrictId< TKey, TStorage >::Set ( void  )
inline

◆ SetAppFlags()

void CNcbiApplicationAPI::SetAppFlags ( TAppFlags  flags)
inlineprotected

Definition at line 620 of file ncbiapp_api.hpp.

References flags, and CNcbiApplicationAPI::m_AppFlags.

Referenced by CNcbiTestApplication::InitTestFramework().

◆ SetEnabled()

virtual void IPhoneHomePolicy::SetEnabled ( bool  enabled = true)
inlinevirtual

Set policy status (enabbed/disabled).

Definition at line 101 of file phone_home_policy.hpp.

References IPhoneHomePolicy::m_IsEnabled.

Referenced by CSamplePhoneHomePolicy::Apply().

◆ SetEnvironment() [1/2]

void CNcbiApplicationAPI::SetEnvironment ( const string name,
const string value 
)

Set a specified environment variable by name.

Definition at line 1126 of file ncbiapp.cpp.

References CNcbiEnvironment::Set(), CNcbiApplicationAPI::SetEnvironment(), and rapidjson::value.

◆ SetEnvironment() [2/2]

CNcbiEnvironment & CNcbiApplicationAPI::SetEnvironment ( void  )
inline

◆ SetExitCode()

void CNcbiApplicationAPI::SetExitCode ( int  exit_code,
EExitMode  when = eExceptionalExits 
)
protected

Force the program to return a specific exit code later, either when it exits due to an exception or unconditionally.

In the latter case, Run's return value will be ignored.

Definition at line 1767 of file ncbiapp.cpp.

References CNcbiApplicationAPI::m_ExitCode, and CNcbiApplicationAPI::m_ExitCodeCond.

◆ SetFullVersion()

void CNcbiApplicationAPI::SetFullVersion ( CRef< CVersionAPI version)
protected

Set version data for the program.

Note
This function should be used from constructor of CNcbiApplicationAPI derived class, otherwise command-like arguments "-version" and "-version-full" will not work as expected.
See also
GetVersion

Definition at line 1174 of file ncbiapp.cpp.

References ERR_POST_X, CNcbiApplicationAPI::m_Version, CRef< C, Locker >::Reset(), s_IsApplicationStarted, and version.

Referenced by BlastdbCopyApplication::BlastdbCopyApplication(), CBlastDBAliasApp::CBlastDBAliasApp(), CBlastDbCheckApplication::CBlastDbCheckApplication(), CBlastDBCmdApp::CBlastDBCmdApp(), CBlastdbConvertApp::CBlastdbConvertApp(), CBlastFormatterApp::CBlastFormatterApp(), CBlastFormatterVdbApp::CBlastFormatterVdbApp(), CBlastnApp::CBlastnApp(), CBlastpApp::CBlastpApp(), CBlastVdbCmdApp::CBlastVdbCmdApp(), CBlastxApp::CBlastxApp(), CConvert2BlastMaskApplication::CConvert2BlastMaskApplication(), CDeltaBlastApp::CDeltaBlastApp(), CDustMaskApplication::CDustMaskApplication(), CGumbelParamsApplication::CGumbelParamsApplication(), CIgBlastnApp::CIgBlastnApp(), CIgBlastpApp::CIgBlastpApp(), CMagicBlastApp::CMagicBlastApp(), CMakeBlastDBApp::CMakeBlastDBApp(), CMakeClusterDBApp::CMakeClusterDBApp(), CMakeProfileDBApp::CMakeProfileDBApp(), CMultiApplication::CMultiApplication(), CNetScheduleDApp::CNetScheduleDApp(), CNetStorageDApp::CNetStorageDApp(), CNetStorageGCApp::CNetStorageGCApp(), CPsiBlastApp::CPsiBlastApp(), CRMBlastnApp::CRMBlastnApp(), CRPSBlastApp::CRPSBlastApp(), CRPSTBlastnApp::CRPSTBlastnApp(), CSeedTopApp::CSeedTopApp(), CSplignApp::CSplignApp(), CTblastnApp::CTblastnApp(), CTblastxApp::CTblastxApp(), CVDBBlastnApp::CVDBBlastnApp(), CVDBTblastnApp::CVDBTblastnApp(), CVecScreenApp::CVecScreenApp(), CWinMaskApplication::CWinMaskApplication(), and SegMaskerApplication::SegMaskerApplication().

◆ SetIdler()

void SetIdler ( INcbiIdler idler,
EOwnership  ownership = eTakeOwnership 
)

Set new idler and ownership.

Definition at line 1845 of file ncbiapp.cpp.

References s_IdlerWrapper.

◆ SetPhoneHomePolicy()

void CNcbiApplicationAPI::SetPhoneHomePolicy ( IPhoneHomePolicy policy,
ENcbiOwnership  ownership = eNoOwnership 
)
protected

Set Phone Home Policy.

  • To activate a new policy this method can be used in the application's Init(), after setting up a command line arguments, or as soon as possible in the Run().
  • To deactivate current policy and cleanup, it can be used at the end of Run(), or in the application's Exit() with the NULL argument.
    Parameters
    policyPointer to new Phone Home policy. NULL - delete current policy without a setting new one. If you have active policy, it automatically calls Finish() for the previously set policy, if any.
    ownershipPhone Home policy ownership.
    See also
    GetPhoneHomePolicy(), IPhoneHomePolicy

Definition at line 212 of file ncbiapp.cpp.

References IPhoneHomePolicy::Apply(), eTakeOwnership, IPhoneHomePolicy::Finish(), CNcbiApplicationAPI::m_PhoneHomePolicy, and CNcbiApplicationAPI::m_PhoneHomePolicy_Ownership.

◆ SetProgramDisplayName()

void CNcbiApplicationAPI::SetProgramDisplayName ( const string app_name)
protected

Set program's display name.

Set up application name suitable for display or as a basename for other files. It can also be set by the user when calling AppMain().

Definition at line 1366 of file ncbiapp.cpp.

References ctll::empty(), CNcbiApplicationAPI::GetAppName(), GetDiagContext(), CNcbiApplicationAPI::m_ProgramDisplayName, and CDiagContext::SetAppName().

Referenced by CNcbiApplicationAPI::AppMain().

◆ SetStdioFlags()

void CNcbiApplicationAPI::SetStdioFlags ( TStdioSetupFlags  stdio_flags)
protected

Adjust the behavior of standard I/O streams.

Unless this function is called, the behaviour of "C++" Cin/Cout/Cerr streams will be the same regardless of the compiler used.

IMPLEMENTATION NOTE: Do not call this function more than once and from places other than App's constructor.

Definition at line 1318 of file ncbiapp.cpp.

References _ASSERT, and CNcbiApplicationAPI::m_StdioFlags.

Referenced by CCgiApplication::CCgiApplication().

◆ SetupArgDescriptions()

void CNcbiApplicationAPI::SetupArgDescriptions ( CArgDescriptions arg_desc)
protectedvirtual

Setup the command line argument descriptions.

Call from the Init() method. The passed "arg_desc" will be owned by this class, and it will be deleted by ~CNcbiApplicationAPI(), or if SetupArgDescriptions() is called again.

Reimplemented in CRemoteCgiApp, CGridWorkerApp, and CCgiApplication.

Definition at line 1195 of file ncbiapp.cpp.

References CArgDescriptions::CreateArgs(), CNcbiApplicationAPI::GetArguments(), CNcbiApplicationAPI::m_ArgDesc, CNcbiApplicationAPI::m_Args, CNcbiApplicationAPI::m_DefaultConfig, and CNcbiApplicationAPI::m_DisableArgDesc.

Referenced by CDemoContigAssemblyApp::Init(), CNgAlignApp::Init(), CSRSearchApplication::Init(), CReadresult::Init(), COMSSABase::Init(), COMSSAMerge::Init(), CDemoSeqQaApp::Init(), CBlastFormatterApp::Init(), CBlastnApp::Init(), CBlastpApp::Init(), CBlastxApp::Init(), CDeltaBlastApp::Init(), CPsiBlastApp::Init(), CRPSBlastApp::Init(), CRPSTBlastnApp::Init(), CSeedTopApp::Init(), CTblastnApp::Init(), CTblastxApp::Init(), CBlastDBAliasApp::Init(), CBlastdbConvertApp::Init(), CBlastDBCmdApp::Init(), CMakeBlastDBApp::Init(), CMakeClusterDBApp::Init(), CBlastFormatterVdbApp::Init(), CBlastVdbCmdApp::Init(), CCompartApp::Init(), CCompactSAMApplication::Init(), CExonSelectorApplication::Init(), CAppHitFilter::Init(), CIdMapperApp::Init(), CIgBlastnApp::Init(), CIgBlastpApp::Init(), CMagicBlastApp::Init(), CAppNWA::Init(), CPsgClientApp::Init(), CRMBlastnApp::Init(), CSplignApp::Init(), CSrcChkApp::Init(), seqsubmit_split::CSeqSubSplitter::Init(), CVecScreenApp::Init(), CDbapiDriverSampleApp::Init(), CDbapiSampleApp::Init(), CTestGuiRegistryApp::Init(), CGBProjectTool::Init(), CNcbiApplogApp::Init(), CTax4BlastDemo::Init(), CHugeFileDemoApp::Init(), CDbapiTest::Init(), CSdbapiTest::Init(), CAnnotWriterApp::Init(), CAsn2FastaApp::Init(), CAsn2FlatApp::Init(), CCleanupApp::Init(), CDiscRepApp::Init(), CMultiReaderApp::Init(), pub_report::CPubReportApp::Init(), CPubmedFetchApplication::Init(), CTestRemoteUpdaterApplication::Init(), CThreadedApp::Init(), CAVApp::Init(), CAlignCleanupApplication::Init(), CMergeyApp::Init(), CProSplignApp::Init(), CTestCompartApplication::Init(), CDemoScoreBuilderApp::Init(), CBlastInputDemoApplication::Init(), CGumbelParamsApplication::Init(), CCkblastindexApplication::Init(), CBlastKmerApplication::Init(), CBlastKmerBuildIndexApplication::Init(), CClustererApplication::Init(), CMultiApplication::Init(), CLocalFinderApp::Init(), COmssa2pepxmlApplication::Init(), CAdapterSearchApplication::Init(), CCpGDemoApp::Init(), CGeneModelDemoApp::Init(), CRegexpLocApp::Init(), CXcompareAnnotsApplication::Init(), CWinMaskDemoApplication::Init(), CAgpValidateApplication::Init(), CAgpconvertApplication::Init(), CAsnCacheTestApplication::Init(), CCacheIndexCopyApp::Init(), CConcatSeqEntriesApplication::Init(), CAsnCacheDumpSeqIdsApplication::Init(), CPrimeCacheApplication::Init(), CReadIndexSpeedApp::Init(), CAsnSubCacheCreateApplication::Init(), CWalkAsnCacheApplication::Init(), CBDBEnvKeeperApp::Init(), CBiosampleChkApp::Init(), CBlastDbCheckApplication::Init(), BlastdbCopyApplication::Init(), CConvert2BlastMaskApplication::Init(), CGuideTreeApplication::Init(), CVDBBlastnApp::Init(), CVDBTblastnApp::Init(), Cn3DNoWin::Init(), CCompartApplication::Init(), CConversionApp::Init(), CDBLBClientApp::Init(), CDustMaskApplication::Init(), CFeatImportApp::Init(), CFormatGuessApp::Init(), CGapStatsApplication::Init(), CGffDeconcatApp::Init(), CGi2TaxIdApp::Init(), CHgvsToSeqfeatConverter::Init(), CId1FetchApp::Init(), CId2FetchApp::Init(), CIdfetchApplication::Init(), CMultipatternApp::Init(), CNcbiEncryptApp::Init(), CNetScheduleDApp::Init(), CNetStorageDApp::Init(), CNetStorageGCApp::Init(), CNmer_repeatsApplication::Init(), CObjExtractApp::Init(), CDemoApp::Init(), CReadBlastApp::Init(), SegMaskerApplication::Init(), CMytestApplication::Init(), CSplitCacheApp::Init(), CStreamTestApp::Init(), subfuse::CSubfuseApp::Init(), CWig2tableApplication::Init(), CWinMaskApplication::Init(), CProjBulderApp::Init(), CPsgPerfApplication::Init(), CNcbiTestApplication::Init(), CBDB_CacheVerifyApp::Init(), CBDB_PhoneBookDemo1::Init(), CBDB_PhoneBookDemo2::Init(), CBDB_PhoneBookDemo3::Init(), CBDB_BLobDemo1::Init(), CBDB_FileDumperApp::Init(), CBDB_SplitTest::Init(), CBDB_MergeTest::Init(), CRunTestApplication::Init(), CMysqlDemoApp::Init(), CTestApplication::Init(), CObjConvProfile::Init(), CAppJobTestApplication::Init(), CTestDispatchApp::Init(), CMakeScoreMethodApp::Init(), CColumnarVCFReaderApp::Init(), CEntrez2ClientApp::Init(), CAlnMrgApp::Init(), CAlnVwrApp::Init(), CReadFilesApp::Init(), CProcessFilesApp::Init(), CFetchGBProjectApp::Init(), CSampleAlnmgrApplication::Init(), CSampleAsnApplication::Init(), CSampleBasicApplication::Init(), CBlastDemoApplication::Init(), CBlastSampleApplication::Init(), VSRunSampleApplication::Init(), CDbapiSimpleApp::Init(), CEUtilsApp::Init(), CHttpSessionApp::Init(), CSampleLds2Application::Init(), CMultiCommandApplication::Init(), CSampleNetCacheClient::Init(), CGridClientSampleApp::Init(), CSampleNetScheduleClient::Init(), CSampleNetScheduleNode::Init(), CRemoteAppClientSampleApp::Init(), CSampleObjectsApplication::Init(), CEditBioseqSampleApp::Init(), CFeatTreeSampleApp::Init(), CSampleObjmgrApplication::Init(), CSdbapiSimpleApp::Init(), CBssInfoApp::Init(), CProcessHighestSeObjs::Init(), CSeqAnnotSplicerApp::Init(), CSampleSoapClientApplication::Init(), CSampleLibtestApplication::Init(), CDataTool::Init(), CBam2GraphApp::Init(), CConvImageApp::Init(), CImageDemoApp::Init(), CSubImageApp::Init(), CCgiApplication::SetupArgDescriptions(), CGridWorkerApp::SetupArgDescriptions(), CNCBIwxApplication::x_SetupArgDescriptions(), CTestBMApp::x_SetupArgDescriptions(), CMakeProfileDBApp::x_SetupArgDescriptions(), and CNcbiApplicationAPI::x_TryInit().

◆ SetupDiag()

bool CNcbiApplicationAPI::SetupDiag ( EAppDiagStream  diag)
protected

Setup the application diagnostic stream.

Returns
TRUE if successful, FALSE otherwise.
Deprecated:

Definition at line 1212 of file ncbiapp.cpp.