NSVD Reader  0.0.1
define.hpp File Reference

macros for value More...

Go to the source code of this file.

Classes

struct  nodamushi::svd::details::value_type_builder< T, attribute, required, name >
 
struct  nodamushi::svd::details::value_type_builder< T, attribute, required, name >::seq< s >
 
struct  nodamushi::svd::details::value_type_builder< T, attribute, required, name >::seq< std::integer_sequence< size_t, s... > >
 

Namespaces

 nodamushi
 
 nodamushi::svd
 
 nodamushi::svd::details
 

Macros

#define _SVD_VALUE_(type, name, attribute, reqired, MACRO, ...)   MACRO(type,name,attribute,required)
 
#define _SVD_VALUE0_(type, name, attribute, dummy)   __SVD_VALUE__(type,attribute,false,name)
 
#define _SVD_VALUE1_(type, name, attribute, required)   __SVD_VALUE__(type,attribute,required,name)
 
#define __SVD_VALUE__(type, attribute, required, name)   ::nodamushi::svd::value_t<type,attribute,required,__SVD_VALUE_EXPAND_NAME__(name)> name
 
#define __SVD_VALUE_EXPAND_NAME__(name)   __SVD_VALUE_EXPAND_NAME2__(#name)
 
#define __SVD_VALUE_EXPAND_NAME2__(name)   ::nodamushi::at0<32>(name),::nodamushi::at(name,1 ),::nodamushi::at(name,2 ),::nodamushi::at(name,3 ),::nodamushi::at(name,4 ),::nodamushi::at(name,5 ),::nodamushi::at(name,6 ),::nodamushi::at(name,7 ),::nodamushi::at(name,8 ),::nodamushi::at(name,9 ),::nodamushi::at(name,10),::nodamushi::at(name,11),::nodamushi::at(name,12),::nodamushi::at(name,13),::nodamushi::at(name,14),::nodamushi::at(name,15),::nodamushi::at(name,16),::nodamushi::at(name,17),::nodamushi::at(name,18),::nodamushi::at(name,19),::nodamushi::at(name,20),::nodamushi::at(name,21),::nodamushi::at(name,22),::nodamushi::at(name,23),::nodamushi::at(name,24),::nodamushi::at(name,25),::nodamushi::at(name,26),::nodamushi::at(name,27),::nodamushi::at(name,28),::nodamushi::at(name,29),::nodamushi::at(name,30),::nodamushi::at(name,31)
 

Typedefs

template<typename T , bool attribute, bool required, char... name>
using nodamushi::svd::value_t = typename details::value_type_builder< T, attribute, required, name... >::type
 

Detailed Description

macros for value

Definition in file define.hpp.

Macro Definition Documentation

◆ __SVD_VALUE__

#define __SVD_VALUE__ (   type,
  attribute,
  required,
  name 
)    ::nodamushi::svd::value_t<type,attribute,required,__SVD_VALUE_EXPAND_NAME__(name)> name

Definition at line 73 of file define.hpp.

◆ __SVD_VALUE_EXPAND_NAME2__

#define __SVD_VALUE_EXPAND_NAME2__ (   name)    ::nodamushi::at0<32>(name),::nodamushi::at(name,1 ),::nodamushi::at(name,2 ),::nodamushi::at(name,3 ),::nodamushi::at(name,4 ),::nodamushi::at(name,5 ),::nodamushi::at(name,6 ),::nodamushi::at(name,7 ),::nodamushi::at(name,8 ),::nodamushi::at(name,9 ),::nodamushi::at(name,10),::nodamushi::at(name,11),::nodamushi::at(name,12),::nodamushi::at(name,13),::nodamushi::at(name,14),::nodamushi::at(name,15),::nodamushi::at(name,16),::nodamushi::at(name,17),::nodamushi::at(name,18),::nodamushi::at(name,19),::nodamushi::at(name,20),::nodamushi::at(name,21),::nodamushi::at(name,22),::nodamushi::at(name,23),::nodamushi::at(name,24),::nodamushi::at(name,25),::nodamushi::at(name,26),::nodamushi::at(name,27),::nodamushi::at(name,28),::nodamushi::at(name,29),::nodamushi::at(name,30),::nodamushi::at(name,31)

Definition at line 84 of file define.hpp.

◆ __SVD_VALUE_EXPAND_NAME__

#define __SVD_VALUE_EXPAND_NAME__ (   name)    __SVD_VALUE_EXPAND_NAME2__(#name)

Definition at line 83 of file define.hpp.

◆ _SVD_VALUE0_

#define _SVD_VALUE0_ (   type,
  name,
  attribute,
  dummy 
)    __SVD_VALUE__(type,attribute,false,name)

Definition at line 70 of file define.hpp.

◆ _SVD_VALUE1_

#define _SVD_VALUE1_ (   type,
  name,
  attribute,
  required 
)    __SVD_VALUE__(type,attribute,required,name)

Definition at line 71 of file define.hpp.

◆ _SVD_VALUE_

#define _SVD_VALUE_ (   type,
  name,
  attribute,
  reqired,
  MACRO,
  ... 
)    MACRO(type,name,attribute,required)

Definition at line 69 of file define.hpp.