acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
number::atom Class Reference

Public Types

enum  enum_type : ::i32 {
  e_type_empty = -2 , e_type_null = -1 , e_type_integer = 0 , e_type_id ,
  e_type_factory , e_type_task_tool , e_type_timer , e_type_message ,
  e_type_subject , e_type_property , e_type_command , e_type_update ,
  e_type_dialog_result , e_type_impact , e_type_happening , e_type_element ,
  e_type_check , e_type_status , e_type_domainid , e_type_user_message ,
  e_type_not_an_atom = 127 , e_type_text = 1ull << 8 , e_type_id_text = e_type_id | e_type_text , e_type_factory_text = e_type_factory | e_type_text ,
  e_type_task_tool_text = e_type_task_tool | e_type_text , e_type_timer_text = e_type_timer | e_type_text , e_type_message_text = e_type_message | e_type_text , e_type_property_text = e_type_property | e_type_text ,
  e_type_command_text = e_type_command | e_type_text , e_type_update_text = e_type_update | e_type_text , e_type_impact_text = e_type_impact | e_type_text , e_type_happening_text = e_type_happening | e_type_text ,
  e_type_element_text = e_type_element | e_type_text , e_type_range = 1ull << 16 , e_type_id_range = e_type_id | e_type_range , e_type_factory_range = e_type_factory | e_type_range ,
  e_type_task_tool_range = e_type_task_tool | e_type_range , e_type_timer_range = e_type_timer | e_type_range , e_type_message_range = e_type_message | e_type_range , e_type_property_range = e_type_property | e_type_range ,
  e_type_command_range = e_type_command | e_type_range , e_type_update_range = e_type_update | e_type_range , e_type_impact_range = e_type_impact | e_type_range , e_type_happening_range = e_type_happening | e_type_range ,
  e_type_element_range = e_type_element | e_type_range
}
using PRIMITIVE_ATOM_TAG = PRIMITIVE_ATOM_TAG_TYPE

Public Member Functions

 atom (enum_type etype)
 atom (enum_id eid)
 atom (enum_element eelement)
 atom (::user::enum_message eusermessage)
 atom (::enum_message emessage)
 atom (enum_impact eimpact)
 atom (ENUM_IMPACT EIMPACT)
 atom (enum_property eproperty)
 atom (enum_factory efactory)
 atom (enum_task_tool etasktool)
 atom (enum_timer etimer)
 atom (enum_dialog_result edialogresult)
 atom (enum_happening ehappening)
 atom (enum_check echeck)
 atom (enum_status estatus)
 atom (enum_type etypeAdd, const atom &atom)
 atom (const atom &atom)
 atom (const domain_id &domainid)
 atom (const_char_pointer psz)
 atom (const inline_number_string &inlinenumberstring)
 atom (const ::platform::type &type)
template<prototype_signed SIGNED>
 atom (SIGNED i)
template<prototype_unsigned UNSIGNED>
 atom (UNSIGNED u)
template<prototype_raw_enum ENUM>
 atom (ENUM e)
template<prototype_enumeration ENUMERATION>
 atom (const ENUMERATION &e)
 atom (const ::scoped_string &scopedstr)
template<prototype_character_range RANGE>
 atom (const RANGE &range)
template<prototype_payload PAYLOAD>
 atom (const PAYLOAD &payload)
 atom (::atom &&atom)
void _defer_free ()
enum_type prototype_type () const
enum_type compounded_type (enum_type etypeAdd) const
::atom compounded (enum_type etype) const
void set_compounded_type2 (enum_type etype)
void set_type (enum_type etype)
enum_type get_type () const
bool _is_compounded (enum_type etype) const
bool is_message () const
bool is_command () const
bool is_update () const
bool is_true (bool bDefault=false) const
bool operator== (const atom &atom) const
inline ::std::strong_ordering operator<=> (const atom &atom) const
template<prototype_character_range RANGE>
bool operator== (const RANGE &str) const
template<prototype_character_range RANGE>
inline ::std::strong_ordering operator<=> (const RANGE &str) const
template<character_pointer CHARACTER_POINTER>
bool operator== (CHARACTER_POINTER p) const
template<character_pointer CHARACTER_POINTER>
inline ::std::strong_ordering operator<=> (CHARACTER_POINTER p) const
template<character_count n>
bool operator== (const ::ansi_character(&cha)[n]) const
template<character_count n>
inline ::std::strong_ordering operator<=> (const ::ansi_character(&cha)[n]) const
template<prototype_integral INTEGRAL>
bool operator== (INTEGRAL i) const
template<prototype_integral INTEGRAL>
inline ::std::strong_ordering operator<=> (INTEGRAL i) const
bool operator== (::enum_id eid) const
inline ::std::strong_ordering operator<=> (::enum_id eid) const
bool operator== (::enum_command ecommand) const
inline ::std::strong_ordering operator<=> (::enum_command ecommand) const
bool operator== (::enum_impact eimpact) const
inline ::std::strong_ordering operator<=> (::enum_impact eid) const
bool operator== (const ::domain_id &domainid) const
inline ::std::strong_ordering operator<=> (const ::domain_id &domainid) const
bool operator== (::ENUM_IMPACT EIMPACT) const
inline ::std::strong_ordering operator<=> (::ENUM_IMPACT EIMPACT) const
bool operator== (::user::enum_message eusermessage) const
inline ::std::strong_ordering operator<=> (::user::enum_message eusermessage) const
bool operator== (::enum_message emessage) const
inline ::std::strong_ordering operator<=> (::enum_message emessage) const
bool operator== (::enum_dialog_result edialogresult) const
inline ::std::strong_ordering operator<=> (::enum_dialog_result edialogresult) const
bool operator== (::enum_happening ehappening) const
inline ::std::strong_ordering operator<=> (::enum_happening ehappening) const
atom & operator= (const atom &atom)
inline ::i64 as_i64 () const
inline ::iptr as_iptr () const
inline ::i32 as_i32 () const
inline ::u32 as_u32 () const
inline ::collection::index as_index () const
inline ::u32 as_umessage () const
inline ::user::enum_message as_eusermessage () const
inline ::enum_message as_emessage1 () const
inline ::enum_id as_eid () const
 IMPLEMENT_ATOM_ENUMERATION (status)
 IMPLEMENT_ATOM_ENUMERATION (command)
 IMPLEMENT_ATOM_ENUMERATION (check)
::string as_string () const
::domain_id as_domainid () const
bool is_null () const
bool is_empty () const
bool has_character () const
bool is_set () const
void Empty ()
void clear ()
inline ::std::strong_ordering case_insensitive_order (const ::scoped_string &scopedstr) const
bool begins (const ::scoped_string &scopedstrPrefix) const
bool case_insensitive_begins (const ::scoped_string &scopedstrPrefix) const
bool ends (const ::scoped_string &scopedstrSuffix) const
bool case_insensitive_ends (const ::scoped_string &scopedstrSuffix) const
constexpr bool is_text () const
constexpr bool is_range () const
constexpr bool is_integer () const
inline ::string operator+ (const_char_pointer psz) const
inline ::string operator+ (const ::scoped_string &scopedstr) const
 operator::hash32 () const
template<prototype_character_range RANGE>
inline ::std::strong_ordering operator<=> (const RANGE &range) const
template<prototype_integral INTEGRAL>
inline ::std::strong_ordering operator<=> (INTEGRAL i) const
template<character_count n>
inline ::std::strong_ordering operator<=> (const ::ansi_character(&cha)[n]) const

Static Public Member Functions

static constexpr bool is_text (enum_type etype)
static constexpr bool is_range (enum_type etype)
static constexpr bool is_integer (enum_type etype)

Public Attributes

union { 
   enum_id   m_eid 
   enum_impact   m_eimpact 
   enum_property   m_eproperty 
   enum_factory   m_efactory 
   enum_task_tool   m_etasktool 
   enum_timer   m_etimer 
   ::user::enum_message   m_eusermessage 
   ::enum_message   m_emessage 
   enum_dialog_result   m_edialogresult 
   enum_happening   m_ehappening 
   enum_element   m_eelement 
   e_status   m_estatus 
   e_command   m_ecommand 
   e_check   m_echeck 
   domain_id   m_domainid 
   ::string   m_str 
   ::ansi_range   m_range 
   ::i64   m_iLargest 
   ::u64   m_uLargest 
}; 
enum_type m_etype

The documentation for this class was generated from the following files:
  • prototype/mathematics/scalar.cpp
  • prototype/prototype/_impl_atom.h