flatten 20260225
This commit is contained in:
49
tjp/core/string/trim.inl
Executable file
49
tjp/core/string/trim.inl
Executable file
@@ -0,0 +1,49 @@
|
||||
// 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
|
||||
Reference in New Issue
Block a user