libcwdversion 2.0.0
The C++ Debugging Support Library
Loading...
Searching...
No Matches
DebugString.inl.h
1// SPDX-FileCopyrightText: 2001-2004, 2018, 2020, 2026 Carlo Wood
2// SPDX-License-Identifier: MIT
3
4#pragma once
5
6#ifndef LIBCWD_CLASS_DEBUG_STRING_INL
7#define LIBCWD_CLASS_DEBUG_STRING_INL
8
9#include "DebugString.h"
10
11#include <cstddef> // Needed for size_t
12
13namespace libcwd {
14
18inline DebugString::DebugString(DebugString const& ds)
19{
20 NS_internal_init(ds.str_, ds.size_);
21 if (capacity_ < ds.capacity_)
22 reserve(ds.capacity_);
23 default_capacity_ = ds.default_capacity_;
24}
25
29inline void DebugString::assign(char const* str, size_t len)
30{
31 internal_assign(str, len);
32}
33
37inline void DebugString::append(char const* str, size_t len)
38{
39 internal_append(str, len);
40}
41
45inline void DebugString::prepend(char const* str, size_t len)
46{
47 internal_prepend(str, len);
48}
49
53inline size_t DebugString::size() const
54{
55 return size_;
56}
57
61inline size_t DebugString::capacity() const
62{
63 return capacity_;
64}
65
69inline char const* DebugString::c_str() const
70{
71 return str_;
72}
73
77inline void DebugString::assign(std::string const& str)
78{
79 assign(str.data(), str.size());
80}
81
85inline void DebugString::append(std::string const& str)
86{
87 append(str.data(), str.size());
88}
89
93inline void DebugString::prepend(std::string const& str)
94{
95 prepend(str.data(), str.size());
96}
97
98inline DebugStringStackElement::DebugStringStackElement(DebugString const& ds) : debug_string(ds)
99{
100}
101
102} // namespace libcwd
103
104#endif // LIBCWD_CLASS_DEBUG_STRING_INL
A string class used for the debug output margin and marker.
Definition DebugString.h:34
void append(char const *str, size_t len)
Append str with size len to the string.
Definition DebugString.inl.h:37
void assign(char const *str, size_t len)
Assign str with size len to the string.
Definition DebugString.inl.h:29
void prepend(char const *str, size_t len)
Prepend str with size len to the string.
Definition DebugString.inl.h:45
size_t size() const
The size of the string.
Definition DebugString.inl.h:53
size_t capacity() const
The capacity of the string.
Definition DebugString.inl.h:61
char const * c_str() const
A zero terminated char const pointer.
Definition DebugString.inl.h:69
void reserve(size_t)
Reserve memory for the string in advance.
Definition debug.cxx:777
namespace for libcwd.