From f92e3b43cb44980f256299532d398e3e124977fd Mon Sep 17 00:00:00 2001 From: Ludovic 'Archivist' Lagouardette Date: Fri, 15 May 2020 22:31:01 +0200 Subject: [PATCH] improved buffers --- Makefile | 2 +- include/gp/buffer.hpp | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index c9a6c3f..e2a1064 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ CXX= clang++-8 -CXXFLAGS= --std=c++17 -O3 -pthread -DGP_TESTS -DFUZZ_STRENGTH=500 -pedantic -Werror \ +CXXFLAGS= --std=c++17 -O0 -pthread -DGP_TESTS -DFUZZ_STRENGTH=500 -pedantic -Werror \ -Wno-unknown-attributes \ -g -fprofile-instr-generate -fcoverage-mapping # -fsanitize=address -fno-omit-frame-pointer diff --git a/include/gp/buffer.hpp b/include/gp/buffer.hpp index f6a1577..3ea66f9 100644 --- a/include/gp/buffer.hpp +++ b/include/gp/buffer.hpp @@ -119,5 +119,29 @@ namespace gp{ return buffer{(T*)nullptr,(size_t)0}; } } + + buffer trim_start(size_t rm_sz) + { + if(rm_sz<=size()) + { + return buffer{begin().data + rm_sz, end().data}; + } + else + { + return buffer{(T*)nullptr,(size_t)0}; + } + } + + buffer trim_end(size_t rm_sz) + { + if(rm_sz<=size()) + { + return buffer{begin().data, end().data - rm_sz}; + } + else + { + return buffer{(T*)nullptr,(size_t)0}; + } + } }; } \ No newline at end of file