KiCad PCB EDA Suite
Loading...
Searching...
No Matches
ALLEGRO::COND_FIELD_BASE< T > Struct Template Referenceabstract

#include <allegro_pcb_structs.h>

Inheritance diagram for ALLEGRO::COND_FIELD_BASE< T >:
ALLEGRO::COND_GE< MinVersion, T > ALLEGRO::COND_GE_LT< GEVersion, LTVersion, T > ALLEGRO::COND_LT< MaxVersion, T >

Public Types

using value_type = T
 

Public Member Functions

virtual bool exists (FMT_VER ver) const =0
 Define this function in the derived class to determine if the field exists in the given version of the file.
 
Tvalue ()
 
const Tvalue () const
 
bool has_value () const
 
const Tvalue_or (const T &aDefault) const
 
Toperator* ()
 
const Toperator* () const
 
Toperator-> ()
 
const Toperator-> () const
 
COND_FIELD_BASEoperator= (const T &value)
 
COND_FIELD_BASEoperator= (T &&value)
 

Private Attributes

std::optional< Tm_Value
 

Detailed Description

template<typename T>
struct ALLEGRO::COND_FIELD_BASE< T >

Definition at line 128 of file allegro_pcb_structs.h.

Member Typedef Documentation

◆ value_type

template<typename T>
using ALLEGRO::COND_FIELD_BASE< T >::value_type = T

Definition at line 130 of file allegro_pcb_structs.h.

Member Function Documentation

◆ exists()

template<typename T>
virtual bool ALLEGRO::COND_FIELD_BASE< T >::exists ( FMT_VER ver) const
pure virtual

Define this function in the derived class to determine if the field exists in the given version of the file.

Implemented in ALLEGRO::COND_GE< MinVersion, T >, ALLEGRO::COND_GE< FMT_VER::V_164, std::array< uint32_t, 3 > >, ALLEGRO::COND_GE< FMT_VER::V_164, std::array< uint32_t, 4 > >, ALLEGRO::COND_GE< FMT_VER::V_164, uint16_t >, ALLEGRO::COND_GE< FMT_VER::V_164, uint32_t >, ALLEGRO::COND_GE< FMT_VER::V_165, std::vector< ALLEGRO::BLK_0x2A_LAYER_LIST::REF_ENTRY > >, ALLEGRO::COND_GE< FMT_VER::V_165, uint32_t >, ALLEGRO::COND_GE< FMT_VER::V_166, uint32_t >, ALLEGRO::COND_GE< FMT_VER::V_172, ALLEGRO::BLK_0x30_STR_WRAPPER::TEXT_PROPERTIES >, ALLEGRO::COND_GE< FMT_VER::V_172, int16_t >, ALLEGRO::COND_GE< FMT_VER::V_172, std::array< uint32_t, 2 > >, ALLEGRO::COND_GE< FMT_VER::V_172, std::array< uint32_t, 28 > >, ALLEGRO::COND_GE< FMT_VER::V_172, std::array< uint32_t, 8 > >, ALLEGRO::COND_GE< FMT_VER::V_172, std::string >, ALLEGRO::COND_GE< FMT_VER::V_172, uint16_t >, ALLEGRO::COND_GE< FMT_VER::V_172, uint32_t >, ALLEGRO::COND_GE< FMT_VER::V_174, std::array< uint32_t, 10 > >, ALLEGRO::COND_GE< FMT_VER::V_174, uint32_t >, ALLEGRO::COND_GE< FMT_VER::V_180, ALLEGRO::FILE_HEADER::LINKED_LIST >, ALLEGRO::COND_GE< FMT_VER::V_180, std::array< uint32_t, 8 > >, ALLEGRO::COND_GE< FMT_VER::V_180, std::array< uint32_t, 9 > >, ALLEGRO::COND_GE< FMT_VER::V_180, uint32_t >, ALLEGRO::COND_GE_LT< GEVersion, LTVersion, T >, ALLEGRO::COND_GE_LT< FMT_VER::V_165, FMT_VER::V_172, std::array< uint32_t, 8 > >, ALLEGRO::COND_LT< MaxVersion, T >, ALLEGRO::COND_LT< FMT_VER::V_165, std::vector< ALLEGRO::BLK_0x2A_LAYER_LIST::NONREF_ENTRY > >, ALLEGRO::COND_LT< FMT_VER::V_166, std::string >, ALLEGRO::COND_LT< FMT_VER::V_172, ALLEGRO::BLK_0x30_STR_WRAPPER::TEXT_PROPERTIES >, ALLEGRO::COND_LT< FMT_VER::V_172, std::array< uint32_t, 50 > >, ALLEGRO::COND_LT< FMT_VER::V_172, std::string >, ALLEGRO::COND_LT< FMT_VER::V_172, uint16_t >, ALLEGRO::COND_LT< FMT_VER::V_172, uint32_t >, ALLEGRO::COND_LT< FMT_VER::V_172, uint8_t >, ALLEGRO::COND_LT< FMT_VER::V_180, ALLEGRO::FILE_HEADER::LINKED_LIST >, ALLEGRO::COND_LT< FMT_VER::V_180, std::array< uint32_t, 17 > >, ALLEGRO::COND_LT< FMT_VER::V_180, std::array< uint32_t, 7 > >, and ALLEGRO::COND_LT< FMT_VER::V_180, uint32_t >.

◆ has_value()

◆ operator*() [1/2]

template<typename T>
T & ALLEGRO::COND_FIELD_BASE< T >::operator* ( )
inline

Definition at line 145 of file allegro_pcb_structs.h.

References m_Value, and T.

◆ operator*() [2/2]

template<typename T>
const T & ALLEGRO::COND_FIELD_BASE< T >::operator* ( ) const
inline

Definition at line 146 of file allegro_pcb_structs.h.

References m_Value, and T.

◆ operator->() [1/2]

template<typename T>
T * ALLEGRO::COND_FIELD_BASE< T >::operator-> ( )
inline

Definition at line 148 of file allegro_pcb_structs.h.

References m_Value, and T.

◆ operator->() [2/2]

template<typename T>
const T * ALLEGRO::COND_FIELD_BASE< T >::operator-> ( ) const
inline

Definition at line 149 of file allegro_pcb_structs.h.

References m_Value, and T.

◆ operator=() [1/2]

template<typename T>
COND_FIELD_BASE & ALLEGRO::COND_FIELD_BASE< T >::operator= ( const T & value)
inline

Definition at line 152 of file allegro_pcb_structs.h.

References m_Value, T, and value().

◆ operator=() [2/2]

template<typename T>
COND_FIELD_BASE & ALLEGRO::COND_FIELD_BASE< T >::operator= ( T && value)
inline

Definition at line 157 of file allegro_pcb_structs.h.

References m_Value, T, and value().

◆ value() [1/2]

◆ value() [2/2]

template<typename T>
const T & ALLEGRO::COND_FIELD_BASE< T >::value ( ) const
inline

Definition at line 140 of file allegro_pcb_structs.h.

References m_Value, and T.

◆ value_or()

template<typename T>
const T & ALLEGRO::COND_FIELD_BASE< T >::value_or ( const T & aDefault) const
inline

Member Data Documentation

◆ m_Value

template<typename T>
std::optional<T> ALLEGRO::COND_FIELD_BASE< T >::m_Value
private

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