19 #ifndef OST_IO_IO_PROFILE_HH
20 #define OST_IO_IO_PROFILE_HH
28 namespace ost {
namespace io {
31 struct DLLEXPORT IOProfile {
35 dialect(d),
quack_mode(qm), fault_tolerant(ft), join_spread_atom_records(js),
36 no_hetatms(nh), calpha_only(co),
processor(proc)
41 join_spread_atom_records(false), no_hetatms(false),
48 bool join_spread_atom_records;
55 no_hetatms, calpha_only,
61 inline std::ostream&
operator<<(std::ostream& stream,
const IOProfile& p)
63 stream <<
"IOProfile(dialect='" << p.dialect
64 <<
"', quack_mode=" << (p.quack_mode ?
"True" :
"False") <<
", "
65 <<
"join_spread_atom_records=" << (p.join_spread_atom_records ?
"True" :
"False") <<
", "
66 <<
"calpha_only=" << (p.calpha_only ?
"True" :
"False") <<
", "
67 <<
"fault_tolerant=" << (p.fault_tolerant ?
"True" :
"False") <<
", "
68 <<
"no_hetatms=" << (p.no_hetatms ?
"True" :
"False") <<
", "
69 <<
"processor=" << (p.processor ? p.processor->ToString() :
"None") <<
")";
75 static IOProfileRegistry& Instance();
79 return profiles_[key];
84 profiles_[key]=profile;
89 if (IOProfileRegistry::alive) {
98 std::map<String, IOProfile> profiles_;
boost::shared_ptr< Processor > ProcessorPtr
static void RemoveProfiles()
void Set(const String &key, const IOProfile &profile)
IOProfile(String d, bool qm, bool ft, bool js, bool nh, bool co, conop::ProcessorPtr proc=conop::ProcessorPtr())
IOProfile & Get(const String &key)
std::ostream & operator<<(std::ostream &stream, const FormattedLine &line)
static IOProfileRegistry & Instance()