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: