CHROMA
inline_szin_write_obj.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Inline task to write an object from a named buffer
4  *
5  * Named object writing
6  */
7 
8 #ifndef __inline_szin_write_obj_h__
9 #define __inline_szin_write_obj_h__
10 
11 #include "chromabase.h"
13 #include "io/qprop_io.h"
14 
15 namespace Chroma
16 {
17  /*! \ingroup inlineio */
18  namespace InlineSZINWriteNamedObjEnv
19  {
20  bool registerAll();
21 
22  //! Parameter structure
23  /*! \ingroup inlineio */
24  struct Params
25  {
26  Params();
27  Params(XMLReader& xml_in, const std::string& path);
28  void writeXML(XMLWriter& xml_out, const std::string& path);
29 
30  unsigned long frequency;
31 
33  {
37 
38  struct File_t
39  {
41 
42  /*
43  * Now some various rules for truncating the configuration
44  */
45  bool trunc; // Whether to truncate the output
46  int j_decay; // Direction of time
47  int t_start; // Starting time slice
48  int t_end; // Ending time slice
49  } file;
50  };
51 
52  //! Inline writing of memory objects
53  /*! \ingroup inlineio */
55  {
56  public:
58  InlineMeas(const Params& p) : params(p) {}
59 
60  unsigned long getFrequency(void) const {return params.frequency;}
61 
62  //! Do the writing
63  void operator()(const unsigned long update_no,
64  XMLWriter& xml_out);
65 
66  private:
68  };
69 
70  }
71 
72 }
73 
74 #endif
Abstract inline measurements.
Primary include file for CHROMA library code.
unsigned long getFrequency(void) const
Tell me how often I should measure this beastie.
void operator()(const unsigned long update_no, XMLWriter &xml_out)
Do the writing.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
::std::string string
Definition: gtest.h:1979
Routines associated with Chroma propagator IO.
struct Chroma::InlineSZINWriteNamedObjEnv::Params::File_t file
void writeXML(XMLWriter &xml_out, const std::string &path)
struct Chroma::InlineSZINWriteNamedObjEnv::Params::NamedObject_t named_obj