ReFRACtor
register_output_base.h
Go to the documentation of this file.
1 #ifndef REGISTER_OUTPUT_H
2 #define REGISTER_OUTPUT_H
3 #include "printable.h"
4 #include "output.h"
5 
6 namespace FullPhysics {
7 /****************************************************************/
45 class RegisterOutputBase : public Printable<RegisterOutputBase> {
46 public:
47  virtual ~RegisterOutputBase() {}
48 
49 //-----------------------------------------------------------------------
53 //-----------------------------------------------------------------------
54 
55  virtual void register_output(const boost::shared_ptr<Output>& out) const = 0;
56 
57 //-----------------------------------------------------------------------
65 //-----------------------------------------------------------------------
66 
67  virtual void register_output_apriori(const boost::shared_ptr<Output>& out) const { }
68 
69 //-----------------------------------------------------------------------
74 //-----------------------------------------------------------------------
75 
76  virtual void print(std::ostream& Os) const { Os << desc();}
77 
78 //-----------------------------------------------------------------------
81 //-----------------------------------------------------------------------
82 
83  virtual std::string desc() const { return "RegisterOutputBase"; }
84 };
85 }
86 
87 #endif
virtual void print(std::ostream &Os) const
Print to stream.
virtual std::string desc() const
Description of object, to be printed to stream.
This is a Mixin for classes that can be printed.
Definition: printable.h:24
As described in the Output class, we have a decentralized model of producing output for L2 Full Physi...
virtual void register_output(const boost::shared_ptr< Output > &out) const =0
Register portions of class that will be written to output.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
virtual void register_output_apriori(const boost::shared_ptr< Output > &out) const
Register apriori portions of class.

Copyright © 2017, California Institute of Technology.
ALL RIGHTS RESERVED.
U.S. Government Sponsorship acknowledged.
Generated Fri Aug 24 2018 15:44:11