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_()).