SheafSystem  0.0.0.0
dof_tuple_type.h
1 
2 //
3 // Copyright (c) 2014 Limit Point Systems, Inc.
4 //
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 
18 // Declarations for dof_tuple_type facet of namespace sheaf.
19 
20 #ifndef DOF_TUPLE_TYPE_H
21 #define DOF_TUPLE_TYPE_H
22 
23 #ifndef SHEAF_DLL_SPEC_H
24 #include "SheafSystem/sheaf_dll_spec.h"
25 #endif
26 
27 #ifndef STD_IOSTREAM_H
28 #include "SheafSystem/std_iostream.h"
29 #endif
30 
31 #ifndef STD_STRING_H
32 #include "SheafSystem/std_string.h"
33 #endif
34 
35 namespace sheaf
36 {
37 
38 // =============================================================================
39 // DOF TUPLE TYPES FACET
40 // =============================================================================
41 
46 {
47  NAMESPACE_POSET_DOF_TUPLE_ID,
48  PRIMITIVES_POSET_DOF_TUPLE_ID,
49  ARRAY_POSET_DOF_TUPLE_ID,
50  ARRAY_SECTION_DOF_TUPLE_ID,
51  SPARSE_SECTION_DOF_TUPLE_ID,
52  NOT_A_DOF_TUPLE_TYPE // must be last
53  // If you add a type id,
54  // don't forget to
55  // update dof_tuple_type_id()
56 };
57 
61 SHEAF_DLL_SPEC
62 const std::string& dof_tuple_type_to_name(dof_tuple_type xdt);
63 
67 SHEAF_DLL_SPEC
68 dof_tuple_type dof_tuple_type_from_name(const std::string& xname);
69 
74 SHEAF_DLL_SPEC
76 
80 SHEAF_DLL_SPEC
81 std::ostream & operator << (std::ostream& os, dof_tuple_type xdt);
82 
86 SHEAF_DLL_SPEC
87 std::istream & operator >> (std::istream& is, dof_tuple_type& xdt);
88 
89 } //namespace sheaf
90 
91 #endif // ifndef DOF_TUPLE_TYPE_H
SHEAF_DLL_SPEC dof_tuple_type dof_tuple_type_from_name(const std::string &xname)
The enumerator with name xname.
SHEAF_DLL_SPEC const std::string & dof_tuple_type_to_name(dof_tuple_type xdt)
The name of the enumerator xdt.
dof_tuple_type
Identifiers for dof tuple types.
SHEAF_DLL_SPEC dof_tuple_type dof_tuple_type_id(int xi)
The dof tuple type associated with int xi; converts int to dof tuple type.
SHEAF_DLL_SPEC std::istream & operator>>(std::istream &is, dof_tuple_type &xdt)
Extract dof_tuple_type xdt from istream& is.
SHEAF_DLL_SPEC std::ostream & operator<<(std::ostream &os, const dof_descriptor_array &p)
Insert dof_descriptor_array& p into ostream& os.
Namespace for the sheaves component of the sheaf system.