Files
core_zero/tjp/core/string/trim.inl
Timothy Prepscius 996151a56a flatten 20260225
2026-02-25 12:43:06 -05:00

50 lines
772 B
C++
Executable File

// License: Modified MIT (NON-AI)
// See the LICENSE file in the root directory for license information.
// Copyright 2025 Timothy Prepscius
#pragma once
#include "trim.h"
namespace tjp::core {
template<typename T>
T trim_right_copy(
const T &s,
const StringView &delimiters)
{
if (s.empty())
return {};
return s.substr( 0, s.find_last_not_of( delimiters ) + 1 );
}
template<typename T>
T trim_left_copy(
const T &s,
const StringView &delimiters)
{
if (s.empty())
return {};
return s.substr( s.find_first_not_of( delimiters ) );
}
template<typename T>
T trim_copy(
const T &s,
const StringView &delimiters)
{
if (s.empty())
return {};
return
trim_left_copy(
trim_right_copy(s, delimiters),
delimiters
);
}
} // namespace