KiCad PCB EDA Suite
Loading...
Searching...
No Matches
wx_stl_compat.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright (C) 2021 KiCad Developers, see AUTHORS.txt for contributors.
5 *
6 * This program is free software: you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation, either version 3 of the License, or (at your
9 * option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef KICAD_WX_STL_COMPAT_H
21#define KICAD_WX_STL_COMPAT_H
22
23#include <string_view>
24
25#include <wx/gdicmn.h>
26#include <wx/string.h>
27
29#define USE_KICAD_WXPOINT_LESS_AND_HASH // for common.cpp
30namespace std
31{
32 template <> struct hash<wxPoint>
33 {
34 size_t operator() ( const wxPoint& k ) const = delete;
35 };
36}
37
38namespace std
39{
40 template<> struct less<wxPoint>
41 {
42 bool operator()( const wxPoint& aA, const wxPoint& aB ) const;
43 };
44}
45
46/***
47 * Helper function to construct a wxString from a std::string_view.
48 */
49wxString TowxString( const std::string_view& view );
50
56std::ostream& operator<<( std::ostream& out, const wxSize& size );
57
63std::ostream& operator<<( std::ostream& out, const wxPoint& pt );
64
65#endif // KICAD_WX_STL_COMPAT_H
STL namespace.
bool operator()(const wxPoint &aA, const wxPoint &aB) const
std::ostream & operator<<(std::ostream &out, const wxSize &size)
Helper function to print the given wxSize to a stream.
wxString TowxString(const std::string_view &view)