Skip to content

Enhance and stabilize binary_data interface #3

Open
@sque

Description

@sque

binary_data is the heart of liboonet, so we must take more care, although it is the best code inside liboonet. Some things must be revised and the interface must be stabilized.

  • scale_mem() It works... but we haven't investigate if it could do it better
  • operator[] It works... but it does a VERY expensive test for buffer over/under flow. We must follow std::vector specification operator[] does not do range check, at() does range check.
  • Implement binary_data to follow "ForwardContainer" concept. (Compatibility with stdlib)
  • Drop various constructors and leave only one from cmem_ref.
  • Cast to string() It is helpfull but there aren't only std::string in this world, so we must either provide ALL or nothing. [^1]
  • Investigate if we are taking full advantage of CoW.
  • Use the new mem_ref interface for reacting with external memory objects
  • Investigate if we can implement Concat On Read

[1] Still under discussion

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions