Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CacheableObserver.cc
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/pose/datacache/CacheableObserver.cc
11 /// @brief Base class for Pose/Conformation observers that are stored in
12 /// a Pose's DataCache.
13 /// @author Yih-En Andrew Ban (yab@u.washington.edu)
14 
15 // unit headers
17 
18 #include <utility/vector1.hh>
19 
20 
21 
22 namespace core {
23 namespace pose {
24 namespace datacache {
25 
26 
27 /// @brief default constructor
29  Super()
30 {}
31 
32 
33 /// @brief copy constructor
35  Super( rval )
36 {}
37 
38 
39 /// @brief default destructor
40 /// @warning Derived classes must remember to detach on destruction!
42 
43 
44 /// @brief copy assignment
47  if ( this != &rval ) {
48  Super::operator =( rval );
49  }
50 
51  return *this;
52 }
53 
54 
55 /// @brief attach to Pose/Conformation
56 /// Derived classes do not overload this method -- see attach_impl()
57 /// instead.
59  detach_from();
60  attach_impl( pose );
61 }
62 
63 
64 /// @brief detach from Pose/Conformation
65 /// @remarks Derived classes do not overload this method -- see
66 /// detach_impl() instead.
68  detach_impl();
69 }
70 
71 
72 } // namespace datacache
73 } // namespace pose
74 } // namespace core