KiCad PCB EDA Suite
SEXPR::SEXPR_SCAN_ARG Class Reference

#include <sexpr.h>

Public Member Functions

 SEXPR_SCAN_ARG (int32_t *aValue)
 
 SEXPR_SCAN_ARG (int64_t *aValue)
 
 SEXPR_SCAN_ARG (double *aValue)
 
 SEXPR_SCAN_ARG (std::string *aValue)
 
 SEXPR_SCAN_ARG (_IN_STRING &aValue)
 
 SEXPR_SCAN_ARG (const std::string *aValue)
 
 SEXPR_SCAN_ARG (std::string aValue)
 
 SEXPR_SCAN_ARG (const char *aValue)
 

Private Types

enum class  Type : char {
  INT , DOUBLE , STRING , LONGINT ,
  STRING_COMP , SEXPR_STRING
}
 

Private Attributes

Type type
 
union {
   int64_t *   lint_value
 
   int32_t *   int_value
 
   double *   dbl_value
 
   std::string *   str_value
 
   _IN_STRING *   sexpr_str
 
u
 
std::string str_value
 

Friends

class SEXPR_LIST
 

Detailed Description

Definition at line 155 of file sexpr.h.

Member Enumeration Documentation

◆ Type

enum class SEXPR::SEXPR_SCAN_ARG::Type : char
strongprivate
Enumerator
INT 
DOUBLE 
STRING 
LONGINT 
STRING_COMP 
SEXPR_STRING 

Definition at line 185 of file sexpr.h.

185: char { INT, DOUBLE, STRING, LONGINT, STRING_COMP, SEXPR_STRING };

Constructor & Destructor Documentation

◆ SEXPR_SCAN_ARG() [1/8]

SEXPR::SEXPR_SCAN_ARG::SEXPR_SCAN_ARG ( int32_t *  aValue)
inline

Definition at line 158 of file sexpr.h.

158 :
159 type( Type::INT ) { u.int_value = aValue; }
union SEXPR::SEXPR_SCAN_ARG::@36 u

References u.

◆ SEXPR_SCAN_ARG() [2/8]

SEXPR::SEXPR_SCAN_ARG::SEXPR_SCAN_ARG ( int64_t *  aValue)
inline

Definition at line 161 of file sexpr.h.

161 :
162 type( Type::LONGINT ) { u.lint_value = aValue; }

References u.

◆ SEXPR_SCAN_ARG() [3/8]

SEXPR::SEXPR_SCAN_ARG::SEXPR_SCAN_ARG ( double *  aValue)
inline

Definition at line 164 of file sexpr.h.

164 :
165 type( Type::DOUBLE ) { u.dbl_value = aValue; }

References u.

◆ SEXPR_SCAN_ARG() [4/8]

SEXPR::SEXPR_SCAN_ARG::SEXPR_SCAN_ARG ( std::string *  aValue)
inline

Definition at line 167 of file sexpr.h.

167 :
168 type( Type::STRING ) { u.str_value = aValue; }

References STRING, and u.

◆ SEXPR_SCAN_ARG() [5/8]

SEXPR::SEXPR_SCAN_ARG::SEXPR_SCAN_ARG ( _IN_STRING aValue)
inline

Definition at line 170 of file sexpr.h.

170 :
171 type( Type::SEXPR_STRING ) { u.sexpr_str = &aValue; }

References u.

◆ SEXPR_SCAN_ARG() [6/8]

SEXPR::SEXPR_SCAN_ARG::SEXPR_SCAN_ARG ( const std::string *  aValue)
inline

Definition at line 173 of file sexpr.h.

173 :
174 type( Type::STRING_COMP ) { str_value = *aValue; }
std::string * str_value
Definition: sexpr.h:193

References str_value.

◆ SEXPR_SCAN_ARG() [7/8]

SEXPR::SEXPR_SCAN_ARG::SEXPR_SCAN_ARG ( std::string  aValue)
inline

Definition at line 176 of file sexpr.h.

176 :
177 type( Type::STRING_COMP ) { str_value = aValue; }

References str_value.

◆ SEXPR_SCAN_ARG() [8/8]

SEXPR::SEXPR_SCAN_ARG::SEXPR_SCAN_ARG ( const char *  aValue)
inline

Definition at line 179 of file sexpr.h.

179 :
180 type( Type::STRING_COMP ) { str_value = aValue; }

References str_value.

Friends And Related Function Documentation

◆ SEXPR_LIST

friend class SEXPR_LIST
friend

Definition at line 183 of file sexpr.h.

Member Data Documentation

◆ dbl_value

double* SEXPR::SEXPR_SCAN_ARG::dbl_value

Definition at line 192 of file sexpr.h.

Referenced by SEXPR::SEXPR_LIST::doScan().

◆ int_value

int32_t* SEXPR::SEXPR_SCAN_ARG::int_value

Definition at line 191 of file sexpr.h.

◆ lint_value

int64_t* SEXPR::SEXPR_SCAN_ARG::lint_value

Definition at line 190 of file sexpr.h.

Referenced by SEXPR::SEXPR_LIST::doScan().

◆ sexpr_str

_IN_STRING* SEXPR::SEXPR_SCAN_ARG::sexpr_str

Definition at line 194 of file sexpr.h.

Referenced by SEXPR::SEXPR_LIST::doScan().

◆ str_value [1/2]

std::string* SEXPR::SEXPR_SCAN_ARG::str_value

Definition at line 193 of file sexpr.h.

Referenced by SEXPR::SEXPR_LIST::doScan(), and SEXPR_SCAN_ARG().

◆ str_value [2/2]

std::string SEXPR::SEXPR_SCAN_ARG::str_value
private

Definition at line 197 of file sexpr.h.

◆ type

Type SEXPR::SEXPR_SCAN_ARG::type
private

Definition at line 186 of file sexpr.h.

Referenced by SEXPR::SEXPR_LIST::doScan().

◆ 

union { ... } SEXPR::SEXPR_SCAN_ARG::u

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