Bear in mind that AcDbObjectPointers can't be copied:
template<class T_OBJECT> class AcDbObjectPointer {
// Copy and assignment prohibited.
AcDbObjectPointer(const AcDbObjectPointer &) = delete;
AcDbObjectPointer& operator=(const AcDbObjectPointer &) = delete;
};
Thus an instance of your struct standard can't be copied. This won't compile:
standard s1;
standard s2 = s1; //error C2280: standard::standard(const standard&): Tried to use a deleted function
Could it be that this is the reason why you want to use unique_ptrs?
I agree with @daniel_cadext: Using AcDbObjectPointers with unique_ptrs will "work".
But I think it is dangerous because it might foil the intend of the AcDbObjectPointer: To close an object as soon as the AcDbObjectPointer is deleted. This might especially happen if you copy the unique_ptr that points to the struct with AcDbObjectPointers. This will postpone the deletion to the point where all unique_ptrs are out of scope.
Thomas Brammer ● Software Developer ● imos AG ● LinkedIn ● 
If an answer solves your problem please [ACCEPT SOLUTION]. Otherwise explain why not.