Skip to content

Commit c803c83

Browse files
committed
Changed pragma once to include guard, Added maybe_unused to unused params, Removed comment cruft
1 parent a739778 commit c803c83

File tree

1 file changed

+11
-73
lines changed

1 file changed

+11
-73
lines changed

include/beman/inplace_vector/inplace_vector.hpp

Lines changed: 11 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
#pragma once
2-
#pragma GCC diagnostic ignored "-Wunused-parameter"
1+
#ifndef BEMAN_INPLACE_VECTOR_INPLACE_VECTOR_HPP
2+
#define BEMAN_INPLACE_VECTOR_INPLACE_VECTOR_HPP
33

44
/*
55
* SPDX-FileCopyrightText: Copyright (c) 2023 Gonzalo Brito Gadeschi. All rights
@@ -320,7 +320,8 @@ template <class T> struct zero_sized {
320320
using size_type = uint8_t;
321321
static constexpr T *storage_data() noexcept { return nullptr; }
322322
static constexpr size_type storage_size() noexcept { return 0; }
323-
static constexpr void unsafe_set_size(size_t new_size) noexcept {
323+
static constexpr void
324+
unsafe_set_size([[maybe_unused]] size_t new_size) noexcept {
324325
IV_EXPECT(new_size == 0 &&
325326
"tried to change size of empty storage to non-zero value");
326327
}
@@ -467,34 +468,6 @@ struct inplace_vector
467468

468469
// [containers.sequences.inplace_vector.cons], construct/copy/destroy
469470
constexpr inplace_vector() noexcept = default;
470-
// constexpr explicit inplace_vector(size_type n);
471-
// constexpr inplace_vector(size_type n, const T& value);
472-
// template <class InputIterator> // BUGBUG: why not model input_iterator?
473-
// constexpr inplace_vector(InputIterator first, InputIterator
474-
// last);
475-
// template <details::inplace_vector::container_compatible_range<T> R>
476-
// constexpr inplace_vector(from_range_t, R&& rg);
477-
// from base-class, trivial if is_trivially_copy_constructible_v<T>:
478-
// constexpr inplace_vector(const inplace_vector&);
479-
// from base-class, trivial if is_trivially_move_constructible_v<T>
480-
// constexpr inplace_vector(inplace_vector&&) noexcept(N == 0 ||
481-
// std::is_nothrow_move_constructible_v<T>);
482-
// constexpr inplace_vector(std::initializer_list<T> il);
483-
// from base-class, trivial if is_trivially_destructible_v<T>
484-
// constexpr ~inplace_vector();
485-
// from base-class, trivial if is_trivially_destructible_v<T> &&
486-
// is_trivially_copy_assignable_v<T>
487-
// constexpr inplace_vector& operator=(const inplace_vector& other);
488-
// from base-class, trivial if is_trivially_destructible_v<T> &&
489-
// is_trivially_copy_assignable_v<T>
490-
// constexpr inplace_vector& operator=(inplace_vector&& other)
491-
// noexcept(N == 0 || is_nothrow_move_assignable_v<T>);
492-
// template <class InputIterator> // BUGBUG: why not model input_iterator
493-
// constexpr void assign(InputIterator first, InputIterator last);
494-
// template<details::inplace_vector::container_compatible_range<T> R>
495-
// constexpr void assign_range(R&& rg);
496-
// constexpr void assign(size_type n, const T& u);
497-
// constexpr void assign(std::initializer_list<T> il);
498471

499472
// iterators
500473
constexpr iterator begin() noexcept { return storage_data(); }
@@ -563,45 +536,6 @@ struct inplace_vector
563536
constexpr T *data() noexcept { return storage_data(); }
564537
constexpr const T *data() const noexcept { return storage_data(); }
565538

566-
// [containers.sequences.inplace_vector.modifiers], modifiers
567-
// template <class... Args>
568-
// constexpr T& emplace_back(Args&&... args);
569-
// constexpr T& push_back(const T& x);
570-
// constexpr T& push_back(T&& x);
571-
// template<details::inplace_vector::container_compatible_range<T> R>
572-
// constexpr void append_range(R&& rg);
573-
// constexpr void pop_back();
574-
575-
// template<class... Args>
576-
// constexpr T* try_emplace_back(Args&&... args);
577-
// constexpr T* try_push_back(const T& value);
578-
// constexpr T* try_push_back(T&& value);
579-
580-
// template<class... Args>
581-
// constexpr T& unchecked_emplace_back(Args&&... args);
582-
// constexpr T& unchecked_push_back(const T& value);
583-
// constexpr T& unchecked_push_back(T&& value);
584-
585-
// template <class... Args>
586-
// constexpr iterator emplace(const_iterator position, Args&&... args);
587-
// constexpr iterator insert(const_iterator position, const T& x);
588-
// constexpr iterator insert(const_iterator position, T&& x);
589-
// constexpr iterator insert(const_iterator position, size_type n, const
590-
// T& x);
591-
// template <class InputIterator>
592-
// constexpr iterator insert(const_iterator position, InputIterator
593-
// first, InputIterator last);
594-
// template<details::inplace_vector::container_compatible_range<T> R>
595-
// constexpr iterator insert_range(const_iterator position, R&& rg);
596-
// constexpr iterator insert(const_iterator position,
597-
// std::initializer_list<T>
598-
// il); constexpr iterator erase(const_iterator position); constexpr
599-
// iterator erase(const_iterator first, const_iterator last); constexpr
600-
// void swap(inplace_vector& x)
601-
// noexcept(N == 0 || (std::is_nothrow_swappable_v<T> &&
602-
// std::is_nothrow_move_constructible_v<T>));
603-
// constexpr void clear() noexcept;
604-
605539
constexpr friend bool operator==(const inplace_vector &x,
606540
const inplace_vector &y) {
607541
return x.size() == y.size() && std::ranges::equal(x, y);
@@ -615,12 +549,14 @@ struct inplace_vector
615549
}
616550

617551
private: // Utilities
618-
constexpr void assert_iterator_in_range(const_iterator it) noexcept {
552+
constexpr void
553+
assert_iterator_in_range([[maybe_unused]] const_iterator it) noexcept {
619554
IV_EXPECT(begin() <= it && "iterator not in range");
620555
IV_EXPECT(it <= end() && "iterator not in range");
621556
}
622-
constexpr void assert_valid_iterator_pair(const_iterator first,
623-
const_iterator last) noexcept {
557+
constexpr void
558+
assert_valid_iterator_pair([[maybe_unused]] const_iterator first,
559+
[[maybe_unused]] const_iterator last) noexcept {
624560
IV_EXPECT(first <= last && "invalid iterator pair");
625561
}
626562
constexpr void assert_iterator_pair_in_range(const_iterator first,
@@ -1044,3 +980,5 @@ constexpr std::size_t erase_if(inplace_vector<T, N> &c, Predicate pred) {
1044980
} // namespace beman
1045981

1046982
#undef IV_EXPECT
983+
984+
#endif // BEMAN_INPLACE_VECTOR_INPLACE_VECTOR_HPP

0 commit comments

Comments
 (0)