Rosetta 3.5
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
core
pack
task
operation
TaskOperationCreator.hh
Go to the documentation of this file.
1
// -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2
// vi: set ts=2 noet:
3
//
4
// (c) Copyright Rosetta Commons Member Institutions.
5
// (c) This file is part of the Rosetta software suite and is made available under license.
6
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9
10
/// @file core/pack/methods/TaskOperationCreator.hh
11
/// @brief Declaration of the base class for TaskOperation factory registration and creation
12
/// @author Andrew Leaver-Fay (aleaverfay@gmail.com)
13
/// @author ashworth
14
15
16
#ifndef INCLUDED_core_pack_task_operation_TaskOperationCreator_hh
17
#define INCLUDED_core_pack_task_operation_TaskOperationCreator_hh
18
19
// Unit headers
20
#include <
core/pack/task/operation/TaskOperationCreator.fwd.hh
>
21
22
// Package headers
23
#include <
core/pack/task/operation/TaskOperation.fwd.hh
>
24
25
// Utility headers
26
#include <utility/pointer/ReferenceCount.hh>
27
28
#include <string>
29
30
31
namespace
core {
32
namespace
pack {
33
namespace
task {
34
namespace
operation {
35
36
/// @brief The TaskOperationCreator class's responsibilities are to create
37
/// on demand a new TaskOperation class.
38
/// The TaskOperationCreator must register itself with the TaskOperationFactory
39
/// at load time (before main() begins) so that the TaskOperationFactory is ready
40
/// to start creating TaskOperations by the time any protocol
41
/// requests one.
42
class
TaskOperationCreator
:
public
utility::pointer::ReferenceCount
43
{
44
public
:
45
virtual
~TaskOperationCreator
() {}
46
47
/// @brief Instantiate a new TaskOperation
48
virtual
TaskOperationOP
create_task_operation
()
const
= 0;
49
virtual
std::string
keyname
()
const
= 0;
50
};
51
52
}
53
}
54
}
55
}
56
57
#endif
Generated on Sat Jun 1 2013 11:33:57 for Rosetta 3.5 by
1.8.4