"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "projects/CodeThorn/src/ObjectLayoutAnalysis.h" between
rose-0.11.53.0.tar.gz and rose-0.11.54.0.tar.gz

About: ROSE is a compiler infrastructure to build source-to-source program transformation and analysis tools for large-scale C, C++, UPC, Fortran, OpenMP, Java, Python and PHP applications.

ObjectLayoutAnalysis.h  (rose-0.11.53.0):ObjectLayoutAnalysis.h  (rose-0.11.54.0)
skipping to change at line 24 skipping to change at line 24
struct Subobject struct Subobject
{ {
ClassKeyType ref; ClassKeyType ref;
bool isVirtual; bool isVirtual;
bool isDirect; bool isDirect;
}; };
struct Field struct Field
{ {
CodeThorn::VariableId id; CodeThorn::VariableKeyType id;
}; };
struct VTable struct VTable
{ {
ClassKeyType ref; ClassKeyType ref;
bool isPrimary; bool isPrimary;
}; };
/*
struct FlatMemberList : std::vector<Field>
{
using base = std::vector<Field>;
using base::base;
iterator beginVirtualMembers()
{
return begin() + firstVirtualEntry;
}
const_iterator beginVirtualMembers() const
{
return begin() + firstVirtualEntry;
}
void firstVirtual(size_t firstVirtualMember) { firstVirtualEntry = firstVirt
ualMember; }
private:
size_t firstVirtualEntry;
};
std::map<ClassTypeKey, FlatMemberList >
flatMemberList(codethorn::VariableIdMapping& vmap, const ClassAnalysis& all);
*/
// in C++17 use STL // in C++17 use STL
// using ObjectLayoutElement = std::variant<Subobject, Field>; // using ObjectLayoutElement = std::variant<Subobject, Field>;
using ObjectLayoutElement = boost::variant<Subobject, Field, VTable>; using ObjectLayoutElement = boost::variant<Subobject, Field, VTable>;
struct ObjectLayoutEntry : std::tuple<size_t, ObjectLayoutElement> struct ObjectLayoutEntry : std::tuple<size_t, ObjectLayoutElement>
{ {
using base = std::tuple<size_t, ObjectLayoutElement>; using base = std::tuple<size_t, ObjectLayoutElement>;
using base::base; using base::base;
size_t offset() const { return std::get<0>(*this); } size_t offset() const { return std::get<0>(*this); }
 End of changes. 2 change blocks. 
28 lines changed or deleted 1 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)