#include <operation.hpp>
Inheritance diagram for obby::operation< Document >:

Public Types | |
| typedef Document | document_type |
Public Member Functions | |
| virtual operation * | clone () const=0 |
| virtual operation * | reverse (const document_type &doc) const =0 |
| virtual void | apply (document_type &doc, const user *author) const=0 |
| virtual operation * | transform (const operation &base_op) const =0 |
| virtual operation * | transform_insert (position pos, const std::string &text) const=0 |
| virtual operation * | transform_delete (position pos, position len) const=0 |
| virtual void | append_packet (net6::packet &pack) const=0 |
Static Public Member Functions | |
| static std::auto_ptr< operation > | from_packet (const net6::packet &pack, unsigned int &index, const user_table &user_table) |
Definition at line 33 of file operation.hpp.
| typedef Document obby::operation< Document >::document_type |
Reimplemented in obby::delete_operation< Document >, obby::basic_insert_operation< Document, String >, obby::insert_operation< Document >, obby::reversible_insert_operation< Document >, obby::no_operation< Document >, obby::split_operation< Document >, obby::basic_insert_operation< Document, obby::text >, and obby::basic_insert_operation< Document, std::string >.
Definition at line 36 of file operation.hpp.
| virtual operation* obby::operation< Document >::clone | ( | ) | const [pure virtual] |
Creates a copy of this operation.
Implemented in obby::delete_operation< Document >, obby::basic_insert_operation< Document, String >, obby::no_operation< Document >, obby::split_operation< Document >, obby::basic_insert_operation< Document, obby::text >, and obby::basic_insert_operation< Document, std::string >.
Referenced by obby::jupiter_algorithm< Document >::operation_storage::reset_operation(), obby::no_operation< Document >::transform(), and obby::jupiter_algorithm< Document >::transform().
| virtual operation* obby::operation< Document >::reverse | ( | const document_type & | doc | ) | const [pure virtual] |
Creates the reverse operation of this one.
| doc | Document to receive additional information from. |
| virtual void obby::operation< Document >::apply | ( | document_type & | doc, | |
| const user * | author | |||
| ) | const [pure virtual] |
Applies this operation to a document.
| doc | Document to apply this operation to. | |
| author | User who performed this operation. |
Referenced by obby::jupiter_server< Document >::local_op(), and obby::jupiter_client< Document >::local_op().
| virtual operation* obby::operation< Document >::transform | ( | const operation< Document > & | base_op | ) | const [pure virtual] |
Transforms base_op against this operation.
| virtual operation* obby::operation< Document >::transform_insert | ( | position | pos, | |
| const std::string & | text | |||
| ) | const [pure virtual] |
Includes the effect of the given insertion into this operation.
Implemented in obby::delete_operation< Document >, obby::basic_insert_operation< Document, String >, obby::no_operation< Document >, obby::split_operation< Document >, obby::basic_insert_operation< Document, obby::text >, and obby::basic_insert_operation< Document, std::string >.
Referenced by obby::basic_insert_operation< Document, String >::transform().
| virtual operation* obby::operation< Document >::transform_delete | ( | position | pos, | |
| position | len | |||
| ) | const [pure virtual] |
Includes the effect of the given deletion into this operation.
Implemented in obby::delete_operation< Document >, obby::basic_insert_operation< Document, String >, obby::no_operation< Document >, obby::split_operation< Document >, obby::basic_insert_operation< Document, obby::text >, and obby::basic_insert_operation< Document, std::string >.
Referenced by obby::delete_operation< Document >::transform().
| virtual void obby::operation< Document >::append_packet | ( | net6::packet & | pack | ) | const [pure virtual] |
Appends this operation to the given packet.
Implemented in obby::delete_operation< Document >, obby::insert_operation< Document >, obby::reversible_insert_operation< Document >, obby::no_operation< Document >, and obby::split_operation< Document >.
| std::auto_ptr< operation< Document > > obby::operation< Document >::from_packet | ( | const net6::packet & | pack, | |
| unsigned int & | index, | |||
| const user_table & | user_table | |||
| ) | [static] |
Reads an operation from the given packet.
| pack | Packet to read from. | |
| index | From which parameter to read at. | |
| user_table | User table were to read potential user information from. |
Definition at line 101 of file operation.hpp.
Referenced by obby::record< Document >::record().
1.5.1