KiCad PCB EDA Suite
Loading...
Searching...
No Matches
SEXPR::SEXPR_LIST Class Reference

#include <sexpr.h>

Inheritance diagram for SEXPR::SEXPR_LIST:
SEXPR::SEXPR

Public Member Functions

 SEXPR_LIST ()
 
 SEXPR_LIST (int aLineNumber)
 
template<typename... Args>
 SEXPR_LIST (const Args &... args)
 
template<typename... Args>
size_t Scan (const Args &... args)
 
template<typename... Args>
void AddChildren (const Args &... args)
 
virtual ~SEXPR_LIST ()
 
bool IsList () const
 
bool IsSymbol () const
 
bool IsString () const
 
bool IsDouble () const
 
bool IsInteger () const
 
void AddChild (SEXPR *aChild)
 
SEXPR_VECTOR const * GetChildren () const
 
SEXPRGetChild (size_t aIndex) const
 
size_t GetNumberOfChildren () const
 
int64_t GetLongInteger () const
 
int32_t GetInteger () const
 
float GetFloat () const
 
double GetDouble () const
 
std::string const & GetString () const
 
std::string const & GetSymbol () const
 
SEXPR_LISTGetList ()
 
std::string AsString (size_t aLevel=0) const
 
size_t GetLineNumber () const
 

Public Attributes

SEXPR_VECTOR m_children
 

Protected Attributes

SEXPR_TYPE m_type
 
size_t m_lineNumber
 

Private Member Functions

size_t doScan (const SEXPR_SCAN_ARG *args, size_t num_args)
 
void doAddChildren (const SEXPR_CHILDREN_ARG *args, size_t num_args)
 

Private Attributes

int m_inStreamChild
 

Friends

SEXPR_LISToperator<< (SEXPR_LIST &list, double value)
 
SEXPR_LISToperator<< (SEXPR_LIST &list, float value)
 
SEXPR_LISToperator<< (SEXPR_LIST &list, int64_t value)
 
SEXPR_LISToperator<< (SEXPR_LIST &list, int32_t value)
 
SEXPR_LISToperator<< (SEXPR_LIST &list, std::string value)
 
SEXPR_LISToperator<< (SEXPR_LIST &list, const _OUT_STRING setting)
 
SEXPR_LISToperator<< (SEXPR_LIST &list, const ISEXPRABLE &obj)
 
SEXPR_LISToperator<< (SEXPR_LIST &list, SEXPR_LIST *list2)
 
SEXPR_LISToperator<< (SEXPR_LIST &list, SEXPR *obj)
 
SEXPR_LISToperator>> (SEXPR_LIST &input, ISEXPRABLE &obj)
 
SEXPR_LISToperator>> (SEXPR_LIST &input, std::string &str)
 
SEXPR_LISToperator>> (SEXPR_LIST &input, int32_t &inte)
 
SEXPR_LISToperator>> (SEXPR_LIST &input, int64_t &inte)
 
SEXPR_LISToperator>> (SEXPR_LIST &input, float &inte)
 
SEXPR_LISToperator>> (SEXPR_LIST &input, double &inte)
 
SEXPR_LISToperator>> (SEXPR_LIST &input, const _IN_STRING is)
 

Detailed Description

Definition at line 242 of file sexpr.h.

Constructor & Destructor Documentation

◆ SEXPR_LIST() [1/3]

SEXPR::SEXPR_LIST::SEXPR_LIST ( )
inline

Definition at line 245 of file sexpr.h.

◆ SEXPR_LIST() [2/3]

SEXPR::SEXPR_LIST::SEXPR_LIST ( int  aLineNumber)
inline

Definition at line 247 of file sexpr.h.

◆ SEXPR_LIST() [3/3]

template<typename... Args>
SEXPR::SEXPR_LIST::SEXPR_LIST ( const Args &...  args)
inline

Definition at line 251 of file sexpr.h.

References AddChildren().

◆ ~SEXPR_LIST()

SEXPR::SEXPR_LIST::~SEXPR_LIST ( )
virtual

Definition at line 205 of file sexpr.cpp.

References m_children.

Member Function Documentation

◆ AddChild()

void SEXPR::SEXPR::AddChild ( SEXPR aChild)
inherited

Definition at line 58 of file sexpr.cpp.

References m_children, and SEXPR::SEXPR_TYPE_LIST.

Referenced by BOOST_AUTO_TEST_CASE(), and doAddChildren().

◆ AddChildren()

template<typename... Args>
void SEXPR::SEXPR_LIST::AddChildren ( const Args &...  args)
inline

Definition at line 267 of file sexpr.h.

References doAddChildren().

Referenced by SEXPR_LIST().

◆ AsString()

std::string SEXPR::SEXPR::AsString ( size_t  aLevel = 0) const
inherited

◆ doAddChildren()

◆ doScan()

◆ GetChild()

SEXPR * SEXPR::SEXPR::GetChild ( size_t  aIndex) const
inherited

Definition at line 48 of file sexpr.cpp.

References SEXPR::SEXPR_TYPE_LIST.

Referenced by BOOST_AUTO_TEST_CASE(), doScan(), and traverseSEXPR().

◆ GetChildren()

SEXPR_VECTOR const * SEXPR::SEXPR::GetChildren ( ) const
inherited

Definition at line 38 of file sexpr.cpp.

References SEXPR::SEXPR_TYPE_LIST.

◆ GetDouble()

double SEXPR::SEXPR::GetDouble ( ) const
inherited

◆ GetFloat()

float SEXPR::SEXPR::GetFloat ( ) const
inherited

Definition at line 123 of file sexpr.cpp.

◆ GetInteger()

int32_t SEXPR::SEXPR::GetInteger ( ) const
inherited

Definition at line 90 of file sexpr.cpp.

◆ GetLineNumber()

size_t SEXPR::SEXPR::GetLineNumber ( ) const
inlineinherited

Definition at line 66 of file sexpr.h.

◆ GetList()

SEXPR_LIST * SEXPR::SEXPR::GetList ( )
inherited

Definition at line 141 of file sexpr.cpp.

References SEXPR::SEXPR_TYPE_LIST.

◆ GetLongInteger()

int64_t SEXPR::SEXPR::GetLongInteger ( ) const
inherited

Definition at line 95 of file sexpr.cpp.

References SEXPR::SEXPR_TYPE_ATOM_INTEGER.

Referenced by KI_TEST::SexprIsIntegerWithValue().

◆ GetNumberOfChildren()

size_t SEXPR::SEXPR::GetNumberOfChildren ( ) const
inherited

Definition at line 70 of file sexpr.cpp.

References SEXPR::SEXPR_TYPE_LIST.

Referenced by KI_TEST::SexprIsListOfLength(), and traverseSEXPR().

◆ GetString()

std::string const & SEXPR::SEXPR::GetString ( ) const
inherited

Definition at line 80 of file sexpr.cpp.

References SEXPR::SEXPR_TYPE_ATOM_STRING.

Referenced by KI_TEST::SexprIsStringWithValue().

◆ GetSymbol()

std::string const & SEXPR::SEXPR::GetSymbol ( ) const
inherited

Definition at line 128 of file sexpr.cpp.

References SEXPR::SEXPR_TYPE_ATOM_SYMBOL.

Referenced by KI_TEST::SexprIsSymbolWithValue().

◆ IsDouble()

bool SEXPR::SEXPR::IsDouble ( ) const
inlineinherited

Definition at line 52 of file sexpr.h.

References SEXPR::SEXPR_TYPE_ATOM_DOUBLE.

Referenced by KI_TEST::getType().

◆ IsInteger()

bool SEXPR::SEXPR::IsInteger ( ) const
inlineinherited

Definition at line 53 of file sexpr.h.

References SEXPR::SEXPR_TYPE_ATOM_INTEGER.

Referenced by KI_TEST::getType().

◆ IsList()

bool SEXPR::SEXPR::IsList ( ) const
inlineinherited

Definition at line 49 of file sexpr.h.

References SEXPR::SEXPR_TYPE_LIST.

Referenced by KI_TEST::getType(), and traverseSEXPR().

◆ IsString()

bool SEXPR::SEXPR::IsString ( ) const
inlineinherited

Definition at line 51 of file sexpr.h.

References SEXPR::SEXPR_TYPE_ATOM_STRING.

Referenced by KI_TEST::getType().

◆ IsSymbol()

bool SEXPR::SEXPR::IsSymbol ( ) const
inlineinherited

Definition at line 50 of file sexpr.h.

References SEXPR::SEXPR_TYPE_ATOM_SYMBOL.

Referenced by KI_TEST::getType().

◆ Scan()

template<typename... Args>
size_t SEXPR::SEXPR_LIST::Scan ( const Args &...  args)
inline

Definition at line 260 of file sexpr.h.

References doScan().

Friends And Related Function Documentation

◆ operator<< [1/9]

SEXPR_LIST & operator<< ( SEXPR_LIST list,
const _OUT_STRING  setting 
)
friend

Definition at line 259 of file sexpr.cpp.

◆ operator<< [2/9]

SEXPR_LIST & operator<< ( SEXPR_LIST list,
const ISEXPRABLE obj 
)
friend

Definition at line 215 of file sexpr.cpp.

◆ operator<< [3/9]

SEXPR_LIST & operator<< ( SEXPR_LIST list,
double  value 
)
friend

Definition at line 241 of file sexpr.cpp.

◆ operator<< [4/9]

SEXPR_LIST & operator<< ( SEXPR_LIST list,
float  value 
)
friend

Definition at line 235 of file sexpr.cpp.

◆ operator<< [5/9]

SEXPR_LIST & operator<< ( SEXPR_LIST list,
int32_t  value 
)
friend

Definition at line 229 of file sexpr.cpp.

◆ operator<< [6/9]

SEXPR_LIST & operator<< ( SEXPR_LIST list,
int64_t  value 
)
friend

Definition at line 223 of file sexpr.cpp.

◆ operator<< [7/9]

SEXPR_LIST & operator<< ( SEXPR_LIST list,
SEXPR obj 
)
friend

Definition at line 253 of file sexpr.cpp.

◆ operator<< [8/9]

SEXPR_LIST & operator<< ( SEXPR_LIST list,
SEXPR_LIST list2 
)
friend

Definition at line 400 of file sexpr.cpp.

◆ operator<< [9/9]

SEXPR_LIST & operator<< ( SEXPR_LIST list,
std::string  value 
)
friend

Definition at line 247 of file sexpr.cpp.

◆ operator>> [1/7]

SEXPR_LIST & operator>> ( SEXPR_LIST input,
const _IN_STRING  is 
)
friend

Definition at line 368 of file sexpr.cpp.

◆ operator>> [2/7]

SEXPR_LIST & operator>> ( SEXPR_LIST input,
double &  inte 
)
friend

Definition at line 351 of file sexpr.cpp.

◆ operator>> [3/7]

SEXPR_LIST & operator>> ( SEXPR_LIST input,
float &  inte 
)
friend

Definition at line 335 of file sexpr.cpp.

◆ operator>> [4/7]

SEXPR_LIST & operator>> ( SEXPR_LIST input,
int32_t &  inte 
)
friend

Definition at line 284 of file sexpr.cpp.

◆ operator>> [5/7]

SEXPR_LIST & operator>> ( SEXPR_LIST input,
int64_t &  inte 
)
friend

Definition at line 318 of file sexpr.cpp.

◆ operator>> [6/7]

SEXPR_LIST & operator>> ( SEXPR_LIST input,
ISEXPRABLE obj 
)
friend

Definition at line 277 of file sexpr.cpp.

◆ operator>> [7/7]

SEXPR_LIST & operator>> ( SEXPR_LIST input,
std::string &  str 
)
friend

Definition at line 301 of file sexpr.cpp.

Member Data Documentation

◆ m_children

SEXPR_VECTOR SEXPR::SEXPR_LIST::m_children

Definition at line 257 of file sexpr.h.

Referenced by SEXPR::SEXPR::AddChild(), and ~SEXPR_LIST().

◆ m_inStreamChild

int SEXPR::SEXPR_LIST::m_inStreamChild
private

Definition at line 293 of file sexpr.h.

◆ m_lineNumber

size_t SEXPR::SEXPR::m_lineNumber
protectedinherited

Definition at line 72 of file sexpr.h.

◆ m_type

SEXPR_TYPE SEXPR::SEXPR::m_type
protectedinherited

Definition at line 69 of file sexpr.h.


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