libStatGen Software 1
Loading...
Searching...
No Matches
LongParamContainer Class Reference

Public Member Functions

LongParameterListgetLongParameterList ()
 
void add (const char *label, void *val, bool excl, int paramType, bool touch=0)
 
void addGroup (const char *label)
 
void addBool (const char *label, void *boolptr)
 
void addExclusiveBool (const char *label, void *boolptr)
 
void addInt (const char *label, void *intptr)
 
void addSmartInt (const char *label, void *intptr)
 
void addDouble (const char *label, void *doubleptr)
 
void addString (const char *label, void *stringptr)
 
void addPhoneHome (const char *version)
 
void startLegacyParams ()
 

Detailed Description

Definition at line 347 of file Parameters.h.

Constructor & Destructor Documentation

◆ LongParamContainer()

LongParamContainer::LongParamContainer ( )

Definition at line 892 of file Parameters.cpp.

893 : myEndIndex(0)
894{
895 // Add the first (also adds ending) indicators.
896 add(NULL, NULL, false, 0, 0);
897}

◆ ~LongParamContainer()

LongParamContainer::~LongParamContainer ( )

Definition at line 900 of file Parameters.cpp.

901{
902}

Member Function Documentation

◆ add()

void LongParamContainer::add ( const char *  label,
void *  val,
bool  excl,
int  paramType,
bool  touch = 0 
)

Definition at line 905 of file Parameters.cpp.

907{
908 if(myEndIndex+1 < MAX_PARAM_ARRAY_SIZE)
909 {
910 // Overwrite the previous end record.
911 myArray[myEndIndex].description = label;
912 myArray[myEndIndex].value = val;
913 myArray[myEndIndex].exclusive = excl;
914 myArray[myEndIndex].type = paramType;
915 myArray[myEndIndex].touched = touch;
916 ++myEndIndex;
917
918 // Add a new empty entry to the end.
919 myArray[myEndIndex].description = NULL;
920 myArray[myEndIndex].value = NULL;
921 myArray[myEndIndex].exclusive = false;
922 myArray[myEndIndex].type = 0;
923 myArray[myEndIndex].touched = 0;
924 }
925 else
926 {
927 throw std::runtime_error("Tool Error: trying to add more parameters than allowed in LongParamContainer.\n");
928 }
929}

◆ addBool()

void LongParamContainer::addBool ( const char *  label,
void *  boolptr 
)
inline

Definition at line 363 of file Parameters.h.

364 { add(label, boolptr, false, LP_BOOL_PARAMETER, 0); }

◆ addDouble()

void LongParamContainer::addDouble ( const char *  label,
void *  doubleptr 
)
inline

Definition at line 375 of file Parameters.h.

376 { add(label, doubleptr, false, LP_DOUBLE_PARAMETER, 0); }

◆ addExclusiveBool()

void LongParamContainer::addExclusiveBool ( const char *  label,
void *  boolptr 
)
inline

Definition at line 366 of file Parameters.h.

367 { add(label, boolptr, true, LP_BOOL_PARAMETER, 0); }

◆ addGroup()

void LongParamContainer::addGroup ( const char *  label)
inline

Definition at line 360 of file Parameters.h.

361 { add(label, NULL, false, 0, 0); }

◆ addInt()

void LongParamContainer::addInt ( const char *  label,
void *  intptr 
)
inline

Definition at line 369 of file Parameters.h.

370 { add(label, intptr, false, LP_INT_PARAMETER, 0); }

◆ addPhoneHome()

void LongParamContainer::addPhoneHome ( const char *  version)
inline

Definition at line 381 of file Parameters.h.

382 {
383 add("PhoneHome", NULL, false, 0, 0);
384 add(version, NULL, false, LP_PHONEHOME_VERSION, 0);
385 add("phoneHomeThinning", &PhoneHome::allThinning, false, LP_INT_PARAMETER, 0);
386 }

◆ addSmartInt()

void LongParamContainer::addSmartInt ( const char *  label,
void *  intptr 
)
inline

Definition at line 372 of file Parameters.h.

373 { add(label, intptr, true, LP_INT_PARAMETER, 0); }

◆ addString()

void LongParamContainer::addString ( const char *  label,
void *  stringptr 
)
inline

Definition at line 378 of file Parameters.h.

379 { add(label, stringptr, false, LP_STRING_PARAMETER, 0); }

◆ getLongParameterList()

LongParameterList * LongParamContainer::getLongParameterList ( )
inline

Definition at line 354 of file Parameters.h.

355 { return(myArray); }

◆ startLegacyParams()

void LongParamContainer::startLegacyParams ( )
inline

Definition at line 388 of file Parameters.h.

389 { add("$$$", NULL, false, 99, 0); }

The documentation for this class was generated from the following files: