tornavis/source/blender/editors/space_spreadsheet/spreadsheet_column.hh

40 lines
1.3 KiB
C++

/* SPDX-FileCopyrightText: 2023 Blender Authors
*
* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
#include "DNA_space_types.h"
#include "BLI_hash.hh"
namespace blender {
template<> struct DefaultHash<SpreadsheetColumnID> {
uint64_t operator()(const SpreadsheetColumnID &column_id) const
{
return get_default_hash(StringRef(column_id.name));
}
};
} // namespace blender
inline bool operator==(const SpreadsheetColumnID &a, const SpreadsheetColumnID &b)
{
using blender::StringRef;
return StringRef(a.name) == StringRef(b.name);
}
namespace blender::ed::spreadsheet {
SpreadsheetColumnID *spreadsheet_column_id_new();
SpreadsheetColumnID *spreadsheet_column_id_copy(const SpreadsheetColumnID *src_column_id);
void spreadsheet_column_id_free(SpreadsheetColumnID *column_id);
SpreadsheetColumn *spreadsheet_column_new(SpreadsheetColumnID *column_id);
SpreadsheetColumn *spreadsheet_column_copy(const SpreadsheetColumn *src_column);
void spreadsheet_column_assign_runtime_data(SpreadsheetColumn *column,
eSpreadsheetColumnValueType data_type,
const StringRefNull display_name);
void spreadsheet_column_free(SpreadsheetColumn *column);
} // namespace blender::ed::spreadsheet