const correctness in DrawQueue

This commit is contained in:
Joseph Aquino 2025-08-01 02:16:03 -04:00
parent 7428ef5399
commit 88d5d8408c
4 changed files with 11 additions and 60 deletions

View File

@ -37,8 +37,8 @@ public:
Sprite& operator*() const;
Sprite* operator->();
Sprite& operator[](size_type);
Sprite* operator->() const;
Sprite& operator[](size_type) const;
bool operator==(iterator) const;
bool operator!=(iterator) const;
@ -77,13 +77,9 @@ public:
DrawQueue(size_type);
~DrawQueue();
Sprite* data();
Sprite* data() const;
Sprite* operator->();
Sprite& operator*();
Sprite& operator[](size_type);
const Sprite* data() const;
const Sprite* cdata() const;
const Sprite* operator->() const;
const Sprite& operator*() const;

View File

@ -74,12 +74,12 @@ namespace container
}
Sprite* DrawQueue::iterator::operator->()
Sprite* DrawQueue::iterator::operator->() const
{
return m_ptr;
}
Sprite& DrawQueue::iterator::operator[](size_type index)
Sprite& DrawQueue::iterator::operator[](size_type index) const
{
return m_ptr[index];
}
@ -182,27 +182,12 @@ namespace container
delete[] m_data;
}
Sprite* DrawQueue::data()
Sprite* DrawQueue::data() const
{
return m_data;
}
Sprite* DrawQueue::operator->()
{
return m_data;
}
Sprite& DrawQueue::operator*()
{
return *m_data;
}
Sprite& DrawQueue::operator[](size_type index)
{
return m_data[index];
}
const Sprite* DrawQueue::data() const
const Sprite* DrawQueue::cdata() const
{
return m_data;
}

View File

@ -1,5 +1,7 @@
// Add this to your imconfig.h
#pragma once
#include <SFML/Graphics/Color.hpp>
#include <SFML/System/Vector2.hpp>

View File

@ -14,39 +14,7 @@
#pragma once
#include <SFML/Graphics/Color.hpp>
#include <SFML/System/Vector2.hpp>
#include <cstdint>
#include "imgui-SFML_export.h"
#define IM_VEC2_CLASS_EXTRA \
template <typename T> \
ImVec2(const sf::Vector2<T>& v) \
{ \
x = static_cast<float>(v.x); \
y = static_cast<float>(v.y); \
} \
\
template <typename T> \
operator sf::Vector2<T>() const \
{ \
return sf::Vector2<T>(static_cast<T>(x), static_cast<T>(y)); \
}
#define IM_VEC4_CLASS_EXTRA \
ImVec4(const sf::Color& c) : x(c.r / 255.f), y(c.g / 255.f), z(c.b / 255.f), w(c.a / 255.f) \
{ \
} \
operator sf::Color() const \
{ \
return sf::Color(static_cast<std::uint8_t>(x * 255.f), \
static_cast<std::uint8_t>(y * 255.f), \
static_cast<std::uint8_t>(z * 255.f), \
static_cast<std::uint8_t>(w * 255.f)); \
}
#include <imconfig-SFML.h>
//---- Define assertion handler. Defaults to calling assert().
// If your macro uses multiple statements, make sure is enclosed in a 'do { .. } while (0)' block so it can be used as a single statement.