μHAL (v2.8.17)
Part of the IPbus software repository
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | List of all members
Animal Struct Reference
Inheritance diagram for Animal:
[legend]

Public Types

enum class  Kind {
  Unknown = 0 , Dog = 100 , Labrador , Chihuahua ,
  LastDog = 199 , Cat = 200 , Panther , LastCat = 299 ,
  Unknown = 0 , Dog = 100 , Labrador , Chihuahua ,
  LastDog = 199 , Cat = 200 , Panther , LastCat = 299
}
 
enum class  Kind {
  Unknown = 0 , Dog = 100 , Labrador , Chihuahua ,
  LastDog = 199 , Cat = 200 , Panther , LastCat = 299 ,
  Unknown = 0 , Dog = 100 , Labrador , Chihuahua ,
  LastDog = 199 , Cat = 200 , Panther , LastCat = 299
}
 

Public Member Functions

virtual ~Animal ()=default
 
virtual ~Animal ()=default
 

Static Public Member Functions

static const std::type_info * type_of_kind (Kind kind)
 
static std::string name_of_kind (Kind kind)
 
static const std::type_info * type_of_kind (Kind kind)
 
static std::string name_of_kind (Kind kind)
 

Public Attributes

const Kind kind
 
const std::string name
 

Protected Member Functions

 Animal (const std::string &_name, Kind _kind)
 
 Animal (const std::string &_name, Kind _kind)
 

Detailed Description

Definition at line 14 of file test_tagbased_polymorphic.cpp.

Member Enumeration Documentation

◆ Kind [1/2]

enum class Animal::Kind
strong
Enumerator
Unknown 
Dog 
Labrador 
Chihuahua 
LastDog 
Cat 
Panther 
LastCat 
Unknown 
Dog 
Labrador 
Chihuahua 
LastDog 
Cat 
Panther 
LastCat 

Definition at line 21 of file test_tagbased_polymorphic.cpp.

◆ Kind [2/2]

enum class Animal::Kind
strong
Enumerator
Unknown 
Dog 
Labrador 
Chihuahua 
LastDog 
Cat 
Panther 
LastCat 
Unknown 
Dog 
Labrador 
Chihuahua 
LastDog 
Cat 
Panther 
LastCat 

Definition at line 21 of file test_tagbased_polymorphic.cpp.

Constructor & Destructor Documentation

◆ ~Animal() [1/2]

virtual Animal::~Animal ( )
virtualdefault

◆ Animal() [1/2]

Animal::Animal ( const std::string &  _name,
Kind  _kind 
)
inlineprotected

Definition at line 38 of file test_tagbased_polymorphic.cpp.

◆ ~Animal() [2/2]

virtual Animal::~Animal ( )
virtualdefault

◆ Animal() [2/2]

Animal::Animal ( const std::string &  _name,
Kind  _kind 
)
inlineprotected

Definition at line 38 of file test_tagbased_polymorphic.cpp.

Member Function Documentation

◆ name_of_kind() [1/2]

std::string Animal::name_of_kind ( Kind  kind)
static

Definition at line 114 of file test_tagbased_polymorphic.cpp.

References kind, and type_of_kind().

Referenced by Dog::bark().

◆ name_of_kind() [2/2]

static std::string Animal::name_of_kind ( Kind  kind)
static

◆ type_of_kind() [1/2]

const std::type_info * Animal::type_of_kind ( Kind  kind)
static

◆ type_of_kind() [2/2]

static const std::type_info * Animal::type_of_kind ( Kind  kind)
static

Member Data Documentation

◆ kind

const Kind Animal::kind

Definition at line 34 of file test_tagbased_polymorphic.cpp.

Referenced by Dog::bark(), name_of_kind(), and type_of_kind().

◆ name

const std::string Animal::name

Definition at line 35 of file test_tagbased_polymorphic.cpp.

Referenced by TEST_SUBMODULE().


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