Develop Biology
The language of life
Substance.h
Go to the documentation of this file.
1
/*
2
* This file is a part of the Biology project by eons LLC.
3
* Biology (aka Develop Biology) is a framework for approaching software
4
* development from a natural sciences perspective.
5
*
6
* Copyright (C) 2021 Séon O'Shannon & eons LLC
7
*
8
* This program is free software: you can redistribute it and/or modify
9
* it under the terms of the GNU Affero General Public License as
10
* published by the Free Software Foundation, either version 3 of the
11
* License, or (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU Affero General Public License for more details.
17
*
18
* You should have received a copy of the GNU Affero General Public License
19
* along with this program. If not, see <https://www.gnu.org/licenses/>.
20
*/
21
22
#pragma once
23
24
#include "
bio/chemical/common/Types.h
"
25
#include "
bio/chemical/common/States.h
"
26
#include "
bio/chemical/common/Properties.h
"
27
#include "
bio/chemical/common/Class.h
"
28
#include "
bio/chemical/common/Filters.h
"
29
#include "
bio/chemical/macros/Macros.h
"
30
#include "
bio/chemical/structure/Structure.h
"
31
#include "
bio/chemical/structure/motif/UnorderedMotif.h
"
32
33
namespace
bio
{
34
namespace
chemical {
35
41
class
Substance
:
42
virtual
public
Structure
,
43
public
chemical::Class
< Substance >,
44
public
UnorderedMotif
< Property >,
45
public
UnorderedMotif
< State >
46
{
47
public
:
48
49
BIO_DEFAULT_IDENTIFIABLE_CONSTRUCTORS_WITH_CTOR_COMMON
(chemical,
50
Substance
,
51
&SubstancePerspective::Instance(),
52
filter::Chemical
())
53
54
57
BIO_DISAMBIGUATE_ALL_CLASS_METHODS
(chemical,
58
Substance
)
59
64
Substance
(
65
const typename
UnorderedMotif
< Property >::
Contents
* properties,
66
const typename
UnorderedMotif
< State >::
Contents
* states
67
);
68
72
virtual ~
Substance
();
73
78
virtual
void
Enable
();
79
84
virtual
void
Disable
();
85
91
virtual
bool
IsEnabled
() const;
92
93
private:
94
void
CtorCommon();
95
};
96
97
}
//chemical namespace
98
}
//bio namespace
States.h
Structure.h
UnorderedMotif.h
Class.h
Filters.h
Properties.h
Types.h
Macros.h
bio::chemical::Class
Definition:
Class.h:49
bio::chemical::Class< Substance >::BIO_DISAMBIGUATE_ALL_CLASS_METHODS
BIO_DISAMBIGUATE_ALL_CLASS_METHODS(physical, Substance) Class(Substance *object
bio::chemical::Structure
Definition:
Structure.h:41
bio::chemical::Substance
Definition:
Substance.h:46
bio::chemical::Substance::Disable
virtual void Disable()
Definition:
Substance.cpp:48
bio::chemical::Substance::BIO_DEFAULT_IDENTIFIABLE_CONSTRUCTORS_WITH_CTOR_COMMON
BIO_DEFAULT_IDENTIFIABLE_CONSTRUCTORS_WITH_CTOR_COMMON(chemical, Substance, &SubstancePerspective::Instance(), filter::Chemical()) BIO_DISAMBIGUATE_ALL_CLASS_METHODS(chemical
bio::chemical::Substance::Enable
virtual void Enable()
Definition:
Substance.cpp:43
bio::chemical::Substance::IsEnabled
virtual bool IsEnabled() const
Definition:
Substance.cpp:53
bio::chemical::UnorderedMotif
Definition:
UnorderedMotif.h:43
bio::chemical::UnorderedMotif< Property >::Contents
physical::Arrangement< Property > Contents
Definition:
UnorderedMotif.h:46
bio::filter::Chemical
Filter Chemical()
bio
Definition:
Cell.h:31
inc
bio
chemical
Substance.h
Generated by
1.9.4