#ifndef UI_VIEWS_VIEW_UTILS_H_
#define UI_VIEWS_VIEW_UTILS_H_
#include <memory>
#include <string>
#include <type_traits>
#include <vector>
#include "base/debug/stack_trace.h"
#include "base/memory/raw_ptr.h"
#include "ui/base/class_property.h"
#include "ui/base/metadata/metadata_types.h"
#include "ui/base/metadata/metadata_utils.h"
#include "ui/views/debug/debugger_utils.h"
#include "ui/views/view.h"
#include "ui/views/views_export.h"
namespace views {
VIEWS_EXPORT extern const ui::ClassProperty<base::debug::StackTrace*>* const
kViewStackTraceKey;
class ViewDebugWrapperImpl : public debug::ViewDebugWrapper { … };
template <typename V>
bool IsViewClass(const View* view) { … }
template <typename V>
V* AsViewClass(View* view) { … }
template <typename V>
const V* AsViewClass(const View* view) { … }
VIEWS_EXPORT void PrintViewHierarchy(View* view,
bool verbose = false,
int depth = -1);
VIEWS_EXPORT std::string GetViewDebugInfo(View* view);
}
#endif