Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
OrderedFragSet.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 // :noTabs=false:tabSize=4:indentSize=4:
4 //
5 // (c) Copyright Rosetta Commons Member Institutions.
6 // (c) This file is part of the Rosetta software suite and is made available under license.
7 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
8 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
9 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
10 
11 /// @file core/fragments/ConstantLengthFragSet.hh
12 /// @brief yields a simple implementation of a fragset
13 /// @author Oliver Lange ( olange@u.washington.edu)
14 /// @date Wed Aug 22 12:08:31 2007
15 ///
16 
17 #ifndef INCLUDED_core_fragment_OrderedFragSet_HH
18 #define INCLUDED_core_fragment_OrderedFragSet_HH
19 
20 // Unit Headers
22 
23 // Package Headers
24 #include <core/fragment/FragSet.hh>
26 #ifdef WIN32
27 #include <core/fragment/Frame.hh> // WIN32 INCLUDE
28 #endif
29 
30 // Project Headers
31 #include <core/types.hh>
33 
34 // std Headers
35 // AUTO-REMOVED #include <iterator>
36 #include <map>
37 
38 #include <utility/vector1.hh>
39 
40 
41 namespace core {
42 namespace fragment {
43 
44 /* classic 9mer Frags would be in one of those */
45 class OrderedFragSet : public FragSet {
46 public:
47  typedef FragSet Parent;
48  typedef std::map< Size, FrameList > FrameMap;
49 
50 // ConstantLengthFragSet is a FragSet with only one frame per position!
51 public:
52 
55 
56  virtual FragSetOP clone() const;
57  virtual FragSetOP empty_clone() const;
58 
59  virtual Size region(
60  kinematics::MoveMap const& mm,
62  core::Size end, //not used
63  core::Size , //min_overlap not used
64  core::Size , //min_length not used
66  ) const;
67 
68  /// @brief Accessor for the Frame at the specified insertion position. Returns false if
69  /// there is no frame at the specified position.
70  virtual Size frames( Size pos, FrameList &frames ) const;
71 
72  virtual FrameIterator begin() const;
73 
74  virtual FrameIterator end() const;
75 
76  virtual bool empty() const;
77 
78 protected:
79 
80  virtual void add_( FrameOP aframe );
81 
82 private:
84 
85 };
86 
87 }
88 }
89 
90 #endif