Copy and move constructors (and assignment operators) are not available.
eoi can also be called as a function, receiving the stream that uses an FBB::EoiBuf as its streambuf. By default the eoi manipulator performs no actions. To use the manipulator in a class derived from EoiBuf the following approach can be used:
1. define a tt(bool d_eoi) data member, initialized to tt(false); 2. define a tt(void eoi_() override) member; 3. tt(eoi_) returns if tt(d_eoi == true), otherwise: 4. it sets tt(d_eoi) to tt(true) and performs the actions normally performed by the class's destructor; 5. the class's destructor calls tt(eoi_()).