1 // Copyright (c) Lawrence Livermore National Security, LLC and other Conduit
2 // Project developers. See top-level LICENSE AND COPYRIGHT files for dates and
3 // other details. No copyright assignment is required to contribute to Conduit.
4 
5 //-----------------------------------------------------------------------------
6 ///
7 /// file: conduit_blueprint.hpp
8 ///
9 //-----------------------------------------------------------------------------
10 
11 #ifndef CONDUIT_BLUEPRINT_HPP
12 #define CONDUIT_BLUEPRINT_HPP
13 
14 //-----------------------------------------------------------------------------
15 // conduit lib includes
16 //-----------------------------------------------------------------------------
17 #include "conduit.hpp"
18 
19 #include "conduit_blueprint_exports.h"
20 
21 #include "conduit_blueprint_mesh.hpp"
22 #include "conduit_blueprint_mesh_examples.hpp"
23 #include "conduit_blueprint_mesh_examples_julia.hpp"
24 #include "conduit_blueprint_mesh_examples_venn.hpp"
25 
26 #include "conduit_blueprint_o2mrelation.hpp"
27 #include "conduit_blueprint_o2mrelation_examples.hpp"
28 #include "conduit_blueprint_o2mrelation_iterator.hpp"
29 
30 #include "conduit_blueprint_mcarray.hpp"
31 #include "conduit_blueprint_mcarray_examples.hpp"
32 
33 #include "conduit_blueprint_zfparray.hpp"
34 
35 #include "conduit_blueprint_table.hpp"
36 #include "conduit_blueprint_table_examples.hpp"
37 
38 //-----------------------------------------------------------------------------
39 // -- begin conduit:: --
40 //-----------------------------------------------------------------------------
41 namespace conduit
42 {
43 
44 //-----------------------------------------------------------------------------
45 // -- begin conduit::blueprint --
46 //-----------------------------------------------------------------------------
47 namespace blueprint
48 {
49 
50 //-----------------------------------------------------------------------------
51 /// The about methods construct human readable info about how blueprint was
52 /// configured.
53 //-----------------------------------------------------------------------------
54 std::string CONDUIT_BLUEPRINT_API about();
55 void        CONDUIT_BLUEPRINT_API about(conduit::Node &n);
56 
57 //-----------------------------------------------------------------------------
58 /// blueprint verify interface
59 //-----------------------------------------------------------------------------
60 
61 //-----------------------------------------------------------------------------
62 /// Verify passed node confirms to given blueprint protocol.
63 /// Messages related to the verification are be placed in the "info" node.
64 //-----------------------------------------------------------------------------
65 bool CONDUIT_BLUEPRINT_API verify(const std::string &protocol,
66                                   const conduit::Node &n,
67                                   conduit::Node &info);
68 
69 //-----------------------------------------------------------------------------
70 }
71 //-----------------------------------------------------------------------------
72 // -- end conduit::blueprint --
73 //-----------------------------------------------------------------------------
74 
75 
76 }
77 //-----------------------------------------------------------------------------
78 // -- end conduit:: --
79 //-----------------------------------------------------------------------------
80 
81 
82 #endif
83 
84 
85 
86