In theory , if they find it jailbroken , they could void your warranty void your iOS EULA for violations cancel your iCloud accounts and similar for violations . I don ' t know whether they would or not , but I would NOT take that chance . <| sep |> This too shall pass <| sep |> I mean , I ' ve seen users delete boot . ini files , even if they are protected under two layers of hidden flags and they ask you twice before deleting it . <| sep |> awww It ' s okay to admit you like Shinji , everyone knows he ' s nice P <| sep |> Cya tonight brother ! <| sep |> Lol wtf why are u commenting on a 20 day old comment ? <| sep |> About 10 just now . A Riolu , but I was looking for a Lucario . <| sep |> A simple implementation would be something like this struct Index 1 struct Index 2 . etc typedef stdunorderedmapIndex 1 , Node Map 1 typedef stdunorderedmapIndex 2 , Node Map 2 etc . struct Node Node prev , next Map 1 iterator m 1 Iter Map 2 iterator m 2 Iter etc . struct HackedMultiIndex Node nodeListHead just maintain a doubly linked list somehow . You could use stdlist here but I hate stdlist Map 1 map 1 Map 2 map 2 When you insert a node , just add the actual data to all the maps . From each map you can get the node to get any other piece of data . It ' s easy also to throw any other data structure in here , doesn ' t have to be stdunorderedmap . This solution isn ' t too efficient , but works for basic multiindexing needs . In general now instead of trying to solve this problem with a single container , I ' ve found it ' s usually easier and more elegant to solve this with intrusive data structures , which can very easily be added to multiple data structures simultaneously , at the price of needing to be explicit in your coding .